数据库 datatime类型默认值 0000-00-00 00:00:00 错误

发现问题:

在开发的时候从将数据库导出想导入另一个数据库,执行sql文件的时候报错导致表不能全部导入。

错误提示:
Incorrect datetime value: ‘0000-00-00 00:00:00’ for column ‘createTime’ at row 1
这里写图片描述

看到这个问题觉得很奇怪,因为这份sql文件是刚刚才从数据库导出的并且成功导入另一个数据库,而导入这个数据库的时候却报了这个错。
我以为是数据库表对datatime的默认处理,数据库表对这个字段是设置为 NOT NULL的,在原数据库添加数据发现不设置值时会自动报存为‘0000-00-00 00:00:00’的值,而导不进去的数据库datatime没有默认值。

我比较了一下这两个数据库的版块,datatime为‘0000-00-00 00:00:00’的是5.7.15,datatime不能为‘0000-00-00 00:00:00’是5.7.16,听说Mqsql版本高的datetime值不能为‘0000-00-00 00:00:00’,难道这是5.7.16与5.7.15的区别=_=??

解决方法

这里写图片描述
给NOT NULL的datatime字段一个默认值,将sql文件中的‘0000-00-00 00:00:00’给替换掉就可以成功执行。

注意:在创建数据库表是如果datatime为NOT NULL,要给这个字段一个初始值,尽量避免出现时间为‘0000-00-00 00:00:00’这个值,有些数据库是没有这个时间的。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值