MySQL阻止用户从其他用户那里获取代码

时间:2019-08-14 18:29:50

标签: php mysql

您好,查询如下:

SELECT code FROM tbl_codes WHERE used='0' ORDER BY RAND() LIMIT 2;

这将导致2个具有唯一值的代码(例如:code = 1 code = 2)。之后,我将更新这些代码用于以下查询的表:

UPDATE table_codes SET used='1', mail_at=NOW(), user='1' WHERE (code='1' OR code='2') AND used='0';

我的问题是如何防止另一个用户获得与第一个用户相同的1或2码?这两个代码只能分配给1个用户。

用户可以获得2张活动门票。这两个代码将以条形码形式通过邮件发送,以便在活动进行时进行扫描。

1 个答案:

答案 0 :(得分:0)

UPDATE table_codes 
   SET used = 1
     , mail_at = NOW()
     , user = 1
 WHERE used = 0 
 ORDER 
    BY RAND() 
 LIMIT 2;