一个关于并发更新的事务以及隔离级的问题
更多描述 当多并发场景下有以下事务执行 (计数器自增),会出现什么问题
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 未测试