mysql timeStamp默认值0000-00-00 00:00:00 报错
2017-09-25 17:42
375 查看
从mysql5.5数据库导出的数据放到mysql5.7.10 报错
create_time DATETIME NOT NULL DEFAULT ‘0000-00-00 00:00:00’
则会出现以下的异常:
Invalid default value for ‘create_time’
解决方法如下:
查询当前数据库的SQL_MODE
select @@sql_mode
得到以下结果:
ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,
NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
可以看到NO_ZERO_IN_DATE,NO_ZERO_DATE是DATE不能全部为0的原因,所以把模式中的NO_ZERO_IN_DATE,NO_ZERO_DATE去掉就可以了。
SET [SESSION|GLOBAL] sql_mode=’modes’
实例如下:
SET GLOBAL sql_mode=’ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,
ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION’
其中:SESSION只在当前会话中生效,GLOBAL为全局生效。
笨拙的方法:
把语句改为以下就可以执行创建表
create_time DATETIME NOT NULL DEFAULT ‘0000-01-01 00:00:00’
create_time DATETIME NOT NULL DEFAULT ‘0000-00-00 00:00:00’
则会出现以下的异常:
Invalid default value for ‘create_time’
解决方法如下:
查询当前数据库的SQL_MODE
select @@sql_mode
得到以下结果:
ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,
NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
可以看到NO_ZERO_IN_DATE,NO_ZERO_DATE是DATE不能全部为0的原因,所以把模式中的NO_ZERO_IN_DATE,NO_ZERO_DATE去掉就可以了。
SET [SESSION|GLOBAL] sql_mode=’modes’
实例如下:
SET GLOBAL sql_mode=’ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,
ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION’
其中:SESSION只在当前会话中生效,GLOBAL为全局生效。
笨拙的方法:
把语句改为以下就可以执行创建表
create_time DATETIME NOT NULL DEFAULT ‘0000-01-01 00:00:00’
相关文章推荐
- 如何让mysql timeStamp类型支持默认值0000-00-00 00:00:00
- mysql timeStamp默认值0000-00-00 00:00:00 报错
- mysql timeStamp默认值0000-00-00 00:00:00 报错
- 关于 mysql的 datatime类型默认值 0000-00-00 00:00:00 错误或者说没办法创建类型为时间的问题
- MySQL关于Value '0000-00-00 00:00:00' can not be represented as java.sql.Timestamp
- MYSQL '0000-00-00 00:00:00' can not be represented as java.sql.Timestamp
- MySQL关于Value '0000-00-00 00:00:00' can not be represented as java.sql.Timestamp
- mysql 数据库字段为datetime类型时默认值为:0000-00-00 00:00:00 查询时异常 java.sql.SQLException:Value '0000-00-00' can not be represented as java.sq
- mysql解决Value ‘0000-00-00 00:00:00’ can not be represented as java.sql.Timestamp
- 普元 EOS Platform 7.6 Mysql5.0 表里字段有默认值为0000-00-00 00:00:00的时间戳,查询数据库表对应的实体报错
- MySQL异常: Value '0000-00-00 00:00:00' can not be represented as java.sql.Timestamp
- MySQL 关于 Value '0000-00-00 00:00:00' can not be represented as java.sql.Timestamp 的错误
- MySQL关于Value '0000-00-00 00:00:00' can not be represented as java.sql.Timestamp
- Mysql-提示java.sql.SQLException: Cannot convert value '0000-00-00 00:00:00' from column 7 to TIMESTAMP.
- java的Timestamp时间插入mysql的datetime字段是0000-00-00 00:00:00
- 插入Mysql异常之Value '0000-00-00 00:00:00' can not be represented as java.sql.Timestamp
- mysql5.7 datetime 默认值为‘0000-00-00 00:00:00'值无法创建问题解决
- Mysql sql_mode设置 timestamp default 0000-00-00 00:00:00 创建表失败处理
- MYSQL:Cannot convert value '0000-00-00 00:00:00' from column 10 to TIMESTAMP的解决办法
- Sqoop在导入MySQL数据时遇到Timestamp列为0000-00-00 00:00:00报错