mysql数据库似乎有一个错误,我无法修复错误代码1292:

yeotifhr  于 2021-07-29  发布在  Java
关注(0)|答案(1)|浏览(296)

我在输入代码时出错了

delete from littering_event_alarm where Event < date_sub(now(), interval 30 DAY);

这是完整的错误代码:1292。截断的日期时间值不正确:“21/07/2020 16:05:35”
感谢您的帮助

n7taea2i

n7taea2i1#

错误消息表明 event 是字符串数据类型,而不是 date -喜欢数据类型( datetime , timestamp ).
使用错误的数据类型是许多弊病的根源(例如:它会使数据的完整性处于危险之中,并损害效率),我强烈建议修复数据模型并将日期存储为日期。
同时:如果 event 一致使用格式 dd/mm/yyyy hh:mi:ss ,则可以使用 str_to_date() 把它变成一个 datetime :

delete from littering_event_alarm  
where str_to_date(event, '%d/%m/%Y %h:%i:%s') > now() - interval 30 day

相关问题