从mysql表中删除日期字段未来的所有记录

时间:2013-11-01 14:03:45

标签: php mysql sql date date-math

我想删除未来提交字段的数据库中的每一行。日期以这种方式存储:

2013年9月10日

所以,在这个例子中我想删除这条记录,因为它已经过期了。这就是我的地方:

$wpdb->query("DELETE FROM `$table_name` WHERE `Submission` < NOW()");

对我来说很好,但是这个查询会删除表中的所有内容,而不仅仅是过去的行。

1 个答案:

答案 0 :(得分:5)

该日期不是有效的日期时间。它是一个字符串。您需要使用STR_TO_DATE()将其转换为日期数学之前的日期。

DELETE FROM `$table_name` WHERE STR_TO_DATE(`Submission`, '%m/%d/%Y') < NOW()