MySQL选择并锁定以便使用PHP进行更新


MySQL select and lock in order to update with PHP

我有一个PHP脚本,它从InnoDB表中选择一个代码并将其分发给用户。一旦选中它,它就会返回并更新表。

部分代码:

$read = "SELECT code FROM codes WHERE someCondition = true"

然后:

$update = "UPDATE codes SET status = 'assigned', timeAssigned = NOW() WHERE someCondition = true"

如何使用InnoDB的锁定来更稳健地执行此操作,并防止两个用户获得相同的代码?

相关文档:此处

SELECT FOR UPDATE code FROM codes ...