在每行有一个计数器(只是一个整数值)的表,我需要的电流值,并增加它在同一时间。
实际上,我想这样做:
SELECT counter FROM table WHERE id=123
UPDATE table SET counter=counter+1 WHERE id=123
但是,作为两个查询执行此操作显然不是线程安全的:执行相同操作(在同一行上)的多个进程可能会获得相同的计数器值。我需要它们全部都是唯一的,因此每个过程都将获得实际的当前值并将其增加一个。
我可以想到一种在每行实现一个手动锁的构造,但是我想知道是否有更简单的方法可以做到这一点?
使用交易吗?
—
ypercubeᵀᴹ