在每行有一个计数器(只是一个整数值)的表,我需要的电流值,并增加它在同一时间。
实际上,我想这样做:
SELECT counter FROM table WHERE id=123
UPDATE table SET counter=counter+1 WHERE id=123
Run Code Online (Sandbox Code Playgroud)
但是这样做作为两个查询显然不是线程安全的:多个进程做同样的事情(在同一行)可能会得到相同的计数器值。我需要它们都是独一无二的,所以每个过程都会获得实际的当前值并将其增加一。
我可以想到一种结构,在其中我对每行实施手动锁定,但我想知道是否有更简单的方法来做到这一点?