从 mysql 表中删除日期字段不在将来的每条记录


Delete every record from mysql table where the date field is NOT in the future

我想从数据库中删除将来没有提交字段的每一行。日期存储方式如下:

2013/10/9

因此,在此示例中,我想删除此记录,因为它已过期。这就是我所在的地方:

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

对我来说看起来不错,但此查询会删除表中的所有内容,而不仅仅是过去的行。

该日期不是有效的日期时间。这是一个字符串。在对其进行日期数学运算之前,您需要使用 STR_TO_DATE() 将其转换为日期。

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