我正在使用AJAX,PHP,MySQL设计聊天应用程序,但我遇到了问题。
MySQL表就像这个username[varchar11]-taken[enum-0,1](coloumns)
一般是想要与userX交谈的用户,首先检查userx
的取值是0
还是1
SELECT * FROM usertable WHERE username=userX
如果0
用户更新为1
:
UPDATE usertable SET taken=1 WHERE username=userX
并开始与userX交谈。
但是当有两个用户想要与userX
交谈并在不知不觉中同时检查所取值时,他们都会得到0
响应。因此,他们的更新后来都被视为1
,并开始同时与userX
对话。实际上,3个用户将互相交谈。该聊天网站应该允许用户同时与最多一个用户交谈。我正试图像那样设计它。
我很感激任何建议。我需要的是阻止其他用户检查和更新所获取的值直到完成检查和更新所取值的东西。