我得到了这个存储购买的表格,我让我的网站在注册时为用户添加免费试用3天。
我得到了每24小时运行一次的cron工作,但是如果用户在他正在接受试用期间购买,则会出现问题。
我的查询:
UPDATE subscriptions SET days = days - 1 WHERE days > 0 AND (package="1month" OR package="3month" OR package="trial")
因此,如果用户获得了有效的试用和活跃的1个月会员资格,此查询将更新试用版和1个月订阅,此时它应仅更新一个订阅。
Sqlfiddle:http://sqlfiddle.com/#!2/74fb6/1
我怎么做?
答案 0 :(得分:0)
由于您说it should update only one subscription at the time
,您应该在表格中查看UID
和package
(虽然目前UID
看起来不像是唯一列它应该是)
UPDATE subscriptions
SET days = days - 1
WHERE days > 0
AND
package = "1month"
AND
UID = 1