【发布时间】:2014-11-07 21:30:12
【问题描述】:
我有一张包含数百万行的表格:
id | info | uid
uid 默认为空。我想选择 10 行并将它们分配给一个 uid,但我想避免任何潜在的并发问题。因此,我认为唯一的方法是根据特定条件以某种方式选择 10 行,锁定这些行,然后在解锁它们之前进行更改。
有没有办法在 MySQL 和 PHP 中进行行锁定?还是有其他方法可以保证不会发生这种情况:
- 用户 a 查询 uid 为空的表
- 找到第 1 行
- 用户b查询uid为null的表
- 找到第 1 行
- 用户一个进程行并将其设置回 null
- 用户 b 处理行并将其设置回 null
看到我的问题了吗?
【问题讨论】:
-
只是想知道,你的问题解决了吗?
标签: mysql