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