我需要为每笔交易设置一个唯一的号码,范围为 1-99,说,
- 事务1:seq_num = 1;
- 事务2:seq_num = 2;
- ...
- 交易99:seq_num = 99;
- 事务 100:seq_num = 1;(滚下)
我正在考虑创建一个名为 SEQ_NUM 的 MySQL 表,其中只有一个名为 'id' 的字段,所以每次,我都可以运行以下 sql,
Update SEQ_NUM set id = id + 1;
要获得一个 seq_num,如果 seq_num = 100,那么我将设置 seq_num =1 并运行另一个 sql 将 id 重置为,
Update SEQ_NUM set id = 1;
但我不确定它是否能保证工作,因为可能有多个事务同时运行,并且在我运行之前
Update SEQ_NUM set id = 1;
可能有另一个事务要求一个序列号,并且 101 将被返回。
任何的想法?
谢谢!