我想在特定日期之前删除一些记录。 当我执行以下语句时: DELETE FROM'client_update_history'WHERE DATE(date_history)< '2015年11月1日'
我收到错误。 date_history是一个DateTimeField;
答案 0 :(得分:2)
似乎您没有正确的日期格式。正确的mysql格式是yyyy-MM-dd
DELETE FROM client_update_history WHERE DATE(date_history) < '2015-11-01'
请注意,如果您使用date_history
作为索引,则最好
DELETE FROM client_update_history WHERE date_history < '2015-11-01'
以便可以使用此索引。
答案 1 :(得分:1)
您还必须使用以下格式包含时间:YYYY-MM-DD HH:MM:SS
DELETE FROM&#39; client_update_history&#39; WHERE DATE(date_history)&lt; &#39; 2015/11/01 00:00:00&#39;
答案 2 :(得分:1)
您最好转换2015/11/01&#39;到目前为止:STR_TO_DATE(&#39; 2015/11/01&#39;,&#39;%Y /%m /%d&#39;)。通过这样做,您可以通知mysql如何解析您想要使用的日期。