数据库操作是原子的

时间:2016-03-02 05:43:20

标签: sql database postgresql

如果多线程同时将以下SQL查询到数据库(postgresql):

UPDATE mytable SET n=n+1 WHERE n=0;

是否' n'最终将大于1

2 个答案:

答案 0 :(得分:1)

更新将采用写锁定,因此表中不会实际发生并发操作。

{{1}}

答案 1 :(得分:0)

  

update mytable set n=n+1 where n=0;

     

'n'是否最终大于1

不,它不会是“大于1 ”,因为将1添加到0会产生1

因此n 等于1,而不是“大于1 ”。

是的,保证在更新完成后没有错误的所有以前为0(零)的值都是1(一)。