全栈开发
数据库
【Q233】一个关于并发更新的事务以及隔离级的问题

一个关于并发更新的事务以及隔离级的问题

更多描述 当多并发场景下有以下事务执行 (计数器自增),会出现什么问题

begin;
 
-- select count from counter;
 
update counter set count = count + 1 where id = 1;
 
commit;

Issue 欢迎在 Gtihub Issue 中回答此问题: Issue 234 (opens in a new tab)

Author 回答者: shfshanyue (opens in a new tab)

如果在 pg 下:

如果隔离级为 RC,则多个事务在更新同一行时,会受到阻塞 (Row Lock) 如果隔离级为 RR,则多个事务在更新同一行时,会报错

could not serialize access due to concurrent update

mysql 未测试