我在几个线程中启动了一个脚本,该脚本从数据库中获取了一些数据
SELECT * from `base` LIMIT 1 where `used` = 0
然后更新此行
UPDATE `base` set `used` = 1 where id ...
问题是:并行线程通常从表中获取相同的记录。 UPDATE无法及时避免这种情况。
我该怎么办?
答案 0 :(得分:0)
谢谢,戈登·利诺夫(Gordon Linoff)!
我应该先使用LOCK TABLE table
WRITE,然后使用UNLOCK TABLES;