我有一个名为订阅者的表 它有
所以我在这里尝试做的是从开始日期和当前日期和持续时间计算
如果持续时间30天过期,则将状态设置为0
这是代码
mysql_query("UPDATE subscribers SET status=1, WHERE status = 0 and (TO_DAYS(date) + duration) - TO_DAYS(NOW()) < 0");
抱歉我的英文,谢谢你的帮助
答案 0 :(得分:0)
您的架构和方法都可以
您只是语法错误:在,
WHERE
入侵者
同样 Vinicius Monteiro 说:
如果该字段始终更新,请考虑不使用该字段,仅使用SELECT
因此您的查询应如下所示:
UPDATE subscribers SET status=0 WHERE (TO_DAYS(date) + duration) - TO_DAYS(NOW()) < 0
如果你有:sql_safe_updates=1
,之前的更新会给你一个错误。
如果是这种情况在谷歌搜索:“MySQL禁用安全更新”