标签: mysql transactions sql-update
MySQL UPDATE递增操作是否是事务安全的?我的意思是,当许多并发客户端执行“UPDATE table SET field = field + 1”之类的查询时,是否有可能进入竞争状态?如果1000个客户端将同时执行此类查询,那么该字段的值将设置为1000,比以前大1000?
答案 0 :(得分:2)
是。每个Update语句都会锁定整个表(MyISAM)或单行(InnoDB),其他语句将排队,直到锁定被释放。
现在,如果在事务中运行这些语句中的每一个,实际上可能会遇到死锁。