PHP中的MySql表锁

use*_*041 5 php mysql pdo web-services locking

我在PHP中创建一个Web服务,它根据表中的select进行一系列计算,然后使用新结果更新表.

但是,我想防止另一个人正在调用同一个Web服务而另一个人的会话仍在进行更新的情况.

锁定整个表然后再次解锁是否正确?如果是这样,我如何使用PHP pdo锁定和解锁mysql表?

Opt*_*ime 0

我发表了评论:

不是直接答案,但我不认为这有什么问题。计算和从数据库获取数据在几毫秒内完成。两个人同时互动的机会太小了,大多数人都不会费心去制作这样的锁。

但如果这些计算很关键,您可以通过添加一个新字段并简单地调用它或类似的方式来防止此occupied问题busy

当您运行脚本时,请检查此字段是否设置为例如 1,如果是,则使脚本休眠 1-2-3 秒,然后重试。如果该字段设置为 0,则将其更新为 1,进行计算并再次将其设置回 0。

这将防止两个人同时访问相同的值。