起因是程序执行存入数据库时间不对,程序把日期format为整时然后存入(或update)数据库,但是数据库一直存入的时间有分钟有秒,查看日志,跟代码,废了好大劲。查了资料,然后发现是navicat选择字段误点了根据当前时间戳更新,把取消掉就好了。
或者用sql来开启取消
MYSQL表里的DATETIME字段自动更新的设置与取消
先查看一下表的DDL语句
`update_time` datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间', `create_time` datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '创建时间',
当设置为ON UPDATE的时候就会自动更新
取消自动更新语句如下:
ALTER TABLE tab_name MODIFY COLUMN update_time TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
结果:执行更新语句时,如果数据没有真正的改变,update_time值不变,只有数据值改变,update_time才会变成当前时间
设置自动更新语句如下:
ALTER TABLE tab_name MODIFY COLUMN update_time TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
来源地址:https://blog.csdn.net/a001_110/article/details/128846302