|
你可以再加上个标志位,比如说 status_online 0: 更新中 1:无操作
然后 update cardinfo set card_random= @a , status_online=1
1,首先在你的程序中的一个变量赋值
set @a = dbms_random.value(1,1000000000)
2,update你的表
update cardinfo set card_random= @a, status_online=1 where .......
3,提取卡
select * from cardino where card_random= @a and status_online=1
这样就没有问题了. 如果另一个语句过来,会通过undo来读取,所以不会有读取重复的现象发生。 |
|