我在输入代码时出错了
delete from littering_event_alarm where Event < date_sub(now(), interval 30 DAY);
这是完整的错误代码:1292。截断的日期时间值不正确:“21/07/2020 16:05:35”感谢您的帮助
n7taea2i1#
错误消息表明 event 是字符串数据类型,而不是 date -喜欢数据类型( datetime , timestamp ).使用错误的数据类型是许多弊病的根源(例如:它会使数据的完整性处于危险之中,并损害效率),我强烈建议修复数据模型并将日期存储为日期。同时:如果 event 一致使用格式 dd/mm/yyyy hh:mi:ss ,则可以使用 str_to_date() 把它变成一个 datetime :
event
date
datetime
timestamp
dd/mm/yyyy hh:mi:ss
str_to_date()
delete from littering_event_alarm where str_to_date(event, '%d/%m/%Y %h:%i:%s') > now() - interval 30 day
1条答案
按热度按时间n7taea2i1#
错误消息表明
event
是字符串数据类型,而不是date
-喜欢数据类型(datetime
,timestamp
).使用错误的数据类型是许多弊病的根源(例如:它会使数据的完整性处于危险之中,并损害效率),我强烈建议修复数据模型并将日期存储为日期。
同时:如果
event
一致使用格式dd/mm/yyyy hh:mi:ss
,则可以使用str_to_date()
把它变成一个datetime
: