我正在尝试设置它,以便如果记录已过期,它将被删除,我知道我的连接很好,因为此代码有效
mysqli_query($resDB,"DELETE FROM downloads WHERE downloads='1'");
但我似乎无法弄清楚如何随着时间的推移做到这一点,是否可以使用少于登录的查询?这是我到目前为止所做的。
mysqli_query($resDB,"DELETE FROM downloads WHERE expires < time()");
答案 0 :(得分:1)
使用UNIX_TIMESTAMP()
。它返回当前的UTC时间。你的过期字段就是那个。 time()
也就是这样。
WHERE expires < UNIX_TIMESTAMP()
答案 1 :(得分:0)
好的,首先你需要创建一个字段,(比如TimeStamp)虽然我更喜欢DateTime。 每当您在表“下载”中插入新行时 你必须给它一个失效日期。
您将使用以下内容进行操作:
INSERT INTO downloads (Download_ID, ExpiresOn) VALUES( 5, DATE_ADD(NOW(),interval +1 month) );
所以,每当你想删除过期的download_id时 你必须
DELETE FROM downloads WHERE ExpiresOn < NOW() LIMIT 1;
希望这有助于:)
对于这个问题,有不同类型的解决方案,你必须更好地解释你的问题和你想要实现的目标。 :)欢呼声^^