两个sql查询是否可以同时影响同一行

时间:2015-03-06 09:26:41

标签: mysql sql

在表示例

**id**    **counter**
   1          100

如果我并行执行100个查询:

  

UPDATE示例SET counter = counter - 1 WHERE id = 1;

该行的最终计数器是否始终为0? 有没有必要锁定桌子?

1 个答案:

答案 0 :(得分:1)

来自mysql文档http://dev.mysql.com/doc/refman/5.1/en/internal-locking.html

  

MySQL如下所示授予表写锁:

     

如果表上没有锁,则在其上放置一个写锁定。

     

否则,将锁定请求放入写锁定队列。

所以2次更新将顺序发生