Mysql UPDATE递增

时间:2010-09-04 08:01:57

标签: mysql transactions sql-update

MySQL UPDATE递增操作是否是事务安全的?我的意思是,当许多并发客户端执行“UPDATE table SET field = field + 1”之类的查询时,是否有可能进入竞争状态?如果1000个客户端将同时执行此类查询,那么该字段的值将设置为1000,比以前大1000?

1 个答案:

答案 0 :(得分:2)

是。每个Update语句都会锁定整个表(MyISAM)或单行(InnoDB),其他语句将排队,直到锁定被释放。

现在,如果在事务中运行这些语句中的每一个,实际上可能会遇到死锁。