Php 日期等于当前日期但高于0000-00-00时自动删除Mysqli行
在我的CMS上,用户可以在帖子上选择一个日期,该日期将到期。目前,该操作正常,当选择的日期等于当前日期时,帖子将自动到期 我想让它,如果用户不输入一个日期,那么帖子将永远不会过期,目前数据库中的日期字段的默认值为0000-00-00,当用户将CMS上的字段留空时,我希望我的过期代码基本上跳过这个日期,并保留与之相关联的任何记录 这是我的过期数据代码:Php 日期等于当前日期但高于0000-00-00时自动删除Mysqli行,php,mysql,date,datetime,mysqli,Php,Mysql,Date,Datetime,Mysqli,在我的CMS上,用户可以在帖子上选择一个日期,该日期将到期。目前,该操作正常,当选择的日期等于当前日期时,帖子将自动到期 我想让它,如果用户不输入一个日期,那么帖子将永远不会过期,目前数据库中的日期字段的默认值为0000-00-00,当用户将CMS上的字段留空时,我希望我的过期代码基本上跳过这个日期,并保留与之相关联的任何记录 这是我的过期数据代码: $SQL = $conn->query(" DELETE FROM data WHERE expire <= CURDATE()
$SQL = $conn->query("
DELETE FROM data
WHERE expire <= CURDATE()
");
$SQL=$conn->query(“
从数据中删除
如果expire使用和而不是&
,然后只指定expire
不应该是'0000-00-00'
DELETE FROM data
WHERE expire <= CURDATE()
AND expire != '0000-00-00'
从数据中删除
如果过期请使用此选项
DELETE FROM table_name WHERE date <= CURDATE() AND date != '0000-00-00'";
DELETE FROM table_name WHERE date You say,MYSQL不喜欢0000-00-00当字段留空时,有没有更好的方法来存储日期值?基本上是对MYSQL 5.7进行了更改,您需要检查我发布的手动链接。如果您不使用MYSQL5.7,这更多是为了将来参考yet@BradleyCousins你可以去艾尔方法使列为空并将默认值设置为空。如果保留为空,则可以将值存储为NULL
,而不是0000-00-00
。然后您可以使用第一个查询。
DELETE FROM table_name WHERE date <= CURDATE() AND date != '0000-00-00'";