首先,我想知道 SQL Server 2005 中死锁的实际根本原因是什么。是因为当两个进程访问表中的同一行时?
无论如何,请考虑两个表_Table_Now_
,并且_Table_History_
两者都具有相同的结构。
假设有一列称为NAME
。
因此,当一个进程尝试使用 in 更新记录时NAME='BLUE'
,_Table_Now_
首先,它需要将当前行NAME='BLUE'
放入_Table_History_
然后更新
_Table_Now_
,并删除以前存在的行_Table_History_
。
删除时发生死锁。我不明白为什么?
请指导我!