我有一张优惠券表,我已经插入了很多数据。如果一个用户订阅该表将被更新并将该优惠券分配给用户。
ID coupon user created Instance
1 xxxx abc@gmail.com 2016-06-15 1
2 xxxx def@gmail.com 2016-06-15 1
3 xxxx ghi@gmail.com 2016-06-15 1
4 xxxx ijk@gmail.com 2016-06-15 1
5 xxxx 0000-00-00 0
6 xxxx 0000-00-00 0
7 xxxx 0000-00-00 0
如果用户订阅用户邮件,将创建日期并将实例更改为1.我想每天只更新50个用户如何查询查询此条件?
答案 0 :(得分:1)
您可以使用这样的查询。 执行后,您可以使用 mysqli_affected_rows 测试更改的行数。
UPDATE yourTable
SET `Instance` = 1
, `USER` = 'theEmail'
, `created` = now()
WHERE
id = (SELECT `id` FROM yourTable WHERE `Instance` = 0 AND `USER` IS NULL LIMIT 1)
AND
50 > (SELECT COUNT(*) FROM yourTable WHERE `created` = NOW());