mysql5.7版本 Invalid default value for ‘create_time‘

文章讲述了在MySQL5.7中使用xx.sql文件创建表时遇到的关于datetime默认值错误,解决方法是删除默认值并使用now()函数替代。作者寻求原因并希望得到解答。
摘要由CSDN通过智能技术生成

我的数据库是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()代替,效果与设置默认值相同

如果有哪位大神指导原因,请在评论区解释一下
!!!拜谢 !!!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值