What would be possible reasons for a DeadLock to occur in Mysql Database? If some one has a Table structure some thing like this,

CREATE TABLE IF NOT EXISTS `domain_source` (`nid` int(11) NOT NULL DEFAULT '0', `domain_id` int(11) NOT NULL DEFAULT '0', PRIMARY KEY (`nid`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='Stores the canonical domain for each node.';


On Heavy load i get Deadlock  on Insert to this Table Structure. I usually delete and insert a row in the table rather than update as the engine is Innodb.
Why DELETE+INSERT instead of UPDATE ??

Do you have BEGIN...COMMIT around the statements?

Are you hitting multiple rows in the DELETE and/or INSERT?

Are you doing DELETE ... WHERE domain_id = ... ?  If so, notice that you have no index, hence it will have to scan the whole table!

(Sorry, that does not even begin to answer the question you posed.  But it may lead to a solution to the real question.)