MySQL5.7里datetime字段Invalid default value ‘0000-00-00’
- 7157
- MySQL
- 8
- super_dodo
- 2016/09/11
最近在做一个数据库的备份和迁移,从mysql5.6备份之后迁移到mysql5.7里面,因为mysql5.7的性能有很大的提高。备份很顺利,还原却遇到了问题:
[SQL] CREATE TABLE `member2` ( `id` int(11) NOT NULL, `name` varchar(20) NOT NULL, `birth` datetime NOT NULL DEFAULT '2020-01-01 00:00:00', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; [Err] 1067 - Invalid default value for 'birth'
分析和测试发现,主要原因是 datetime NOT NULL DEFAULT '2020-01-01 00:00:00' 查阅相关文档,得到mysql官方文档里面有下面的一段说明,顿时豁然开朗:http://dev.mysql.com/doc/refman/5.7/en/datetime.html
The DATE type is used for values with a date part but no time part. MySQL retrieves and displays DATE values in 'YYYY-MM-DD' format. The supported range is '1000-01-01' to '9999-12-31'. The DATETIME type is used for values that contain both date and time parts. MySQL retrieves and displays DATETIME values in 'YYYY-MM-DD HH:MM:SS' format. The supported range is '1000-01-01 00:00:00' to '9999-12-31 23:59:59'. The TIMESTAMP data type is used for values that contain both date and time parts. TIMESTAMP has a range of '1970-01-01 00:00:01' UTC to '2038-01-19 03:14:07' UTC.
但是查看mysql5.6 mysql5.5的里面也有该说明。但是可以创建和还原成功,猜测是mysql5.7里面做了严格的限制了。建议各位还是按照标准的方式设置默认值。另外建议使用int类型。此处求大神解析答疑。
小伙伴们有时间请多看看官方文档:http://dev.mysql.com/doc/refman/5.7/en/
没有人不爱惜他的生命,但很少人珍视他的时间。 —— 梁实秋
- Jquery中替换节点的方法replaceWith()和replaceAll()
- 第25章 Linux备份策略 -《鸟哥的Linux》
- MySQL之——CentOS下my.cnf 配置 日志类型及文件配置详解
- 从Yii2的Request看其CSRF防范策略(yii2-csrf-yii-request)
- jQuery实现倒计时跳转的例子
- 苹果公司将在深圳设研发中心
- jQuery事件之鼠标事件,鼠标事件,鼠标移动
- Discuz X3 图片上传大于2M失败的优化和改进(Nginx)
- Jquery使用$.each()遍历json\数组和对象
- Yii2使用$this->context获取当前的Module、Controller(控制器)、Action等
相关阅读
- 通过Google API客户端访问Google Play帐户报告PHP库
- PHP执行文件的压缩和解压缩方法
- 消息中间件MQ与RabbitMQ面试题
- 如何搭建一个拖垮公司的技术架构?
- Yii2中ElasticSearch的使用示例
热门文章
- 通过Google API客户端访问Google Play帐户报告PHP库
- PHP执行文件的压缩和解压缩方法
- 消息中间件MQ与RabbitMQ面试题
- 如何搭建一个拖垮公司的技术架构?
- Yii2中ElasticSearch的使用示例
最新文章
- 通过Google API客户端访问Google Play帐户报告PHP库
- PHP执行文件的压缩和解压缩方法
- 消息中间件MQ与RabbitMQ面试题
- 如何搭建一个拖垮公司的技术架构?
- Yii2中ElasticSearch的使用示例