mysql插入空日期报错_MySQL 备份导入出错 and mysql添加DATETIME类型字段导致Invalid default value错误的问题...

出错信息:

1067 - Invalid default value for 'DATATIME'

[Msg] Importing Data...

[Msg] Rolling back...

[Msg] Finished - Stopped before completion

问题原因:MYSQL 5.6.5以下版本,不支持DATETIME日期类型,如果想要日期类型可以换成TIMESTAMP。

备注1:DATETIME字段必须要么留下一个空默认值,或根本没有默认值。

备注2:You should always be wary of migrating to an older version of any software, since it's often possible that your code is using new features that didn't exist previously. Updated versions usually provide backward compatibility (at least for a few releases), but there's no way for old versions to deal with unimplemented features from new versions.

执行sql如下:

CREATE TABLE `qcloud_sms_template` (

`id` int(11) unsigned NOT NULL AUTO_INCREMENT,

`ctime` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,

PRIMARY KEY(`id`),

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

执行结果:

ERROR 1067 (42000): Invalid default value for 'ctime'

这段sql在本机测试没问题,放到开发环境下就报错了。

很奇怪,搜索一番后,发现DATETIME类型只支持mysql 5.6.5+.

解决方法:

将DATETIME改为TIMESTAMP。

参考资料:

http://stackoverflow.com/questions/168736/how-do-you-set-a-default-value-for-a-mysql-datetime-column/10603198

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值