【发布时间】:2013-11-07 05:56:45
【问题描述】:
我在尝试使用 INSERT..ON DUPLICATE KEY UPDATE 更新多行(一批)时遇到死锁。 MySQL 是锁定一批中的所有行还是只锁定它在某个时间点更新的行?
【问题讨论】:
-
对于dba.stackexchange.com来说可能是一个更好的问题
-
如果禁用了自动提交,那么 MySql 会在所有接触的行上加锁,并在提交时释放已放置的锁。以一致的顺序插入记录(插入前按主键值对一批记录进行排序)以避免死锁。
标签: mysql insert-update database-deadlocks