我的数据库是mysql5.7
导入别人的xx.sql文件时,报 Invalid default value for ‘create_time‘ 错误
经过排查,是创建table表时,设置datetime数据类型的默认值时报错
xx.sql创建表的方法大致如下:
CREATE TABLE EXAMPLE (
id INT PRIMARY KEY AUTO_INCREMENT,
created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
updated_at DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
);
查找晚上资料,单纯从语法角度来说,没有任何错误,但通过SQLyog执行上述sql代码,就是报错
解决办法:
把 DATETIME DEFAULT CURRENT_TIMESTAMP 删掉,不要默认值
当服务器向数据库插入或修改数据时,将 created_at 或 updated_at 属性值用 now()代替,效果与设置默认值相同
如果有哪位大神指导原因,请在评论区解释一下
!!!拜谢 !!!