如何让mysql timeStamp类型支持默认值0000-00-00 00:00:00
2017-10-20 00:00
676 查看
由于做数据库迁移,之前的数据库是oracle,时间字段都是timestamp类型,默认值为'0000-00-00 00:00:00',到处sql后到mysql 5.5版本可以执行,可换到5.7版本死活报错,坑...经过四处搜索资料,发现是由于sql_mode的原因,5.7版本的sql_mode默认值是
是严格模式,而5.5是非严格模式,要想让5.7也能支持timestamp默认'0000-00-00 00:00:00',只需修改sql_mode为(同时将mysql安装目录下的my-default.ini文件中的sql_mode也设置为sql_mode=NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION)
可以通过以下命令修改:
修改完成后,就可以正常执行迁移脚本了,timestamp也可以默认0000-00-00 00:00:00
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
是严格模式,而5.5是非严格模式,要想让5.7也能支持timestamp默认'0000-00-00 00:00:00',只需修改sql_mode为(同时将mysql安装目录下的my-default.ini文件中的sql_mode也设置为sql_mode=NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION)
sql_mode=NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
可以通过以下命令修改:
set sql_mode=''; set global sql_mode='NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';
修改完成后,就可以正常执行迁移脚本了,timestamp也可以默认0000-00-00 00:00:00
相关文章推荐
- mysql timeStamp默认值0000-00-00 00:00:00 报错
- mysql 数据库字段为datetime类型时默认值为:0000-00-00 00:00:00 查询时异常 java.sql.SQLException:Value '0000-00-00' can not be represented as java.sq
- 关于 mysql的 datatime类型默认值 0000-00-00 00:00:00 错误或者说没办法创建类型为时间的问题
- mysql中datetime类型字段为默认值0000-00-00 00:00:00怎么取出来
- mysql timeStamp默认值0000-00-00 00:00:00 报错
- mysql timeStamp默认值0000-00-00 00:00:00 报错
- MySQL异常: Value '0000-00-00 00:00:00' can not be represented as java.sql.Timestamp
- Mysql 数据库date, datetime类型设置0000-00-00默认值报错问题
- mysql5.7 datetime 默认值为‘0000-00-00 00:00:00'值无法创建问题解决
- 普元 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:Cannot convert value '0000-00-00 00:00:00' from column 10 to TIMESTAMP的解决办法
- 关于Java读取mysql中date类型字段默认值'0000-00-00'的问题
- Mysql 数据库date, datetime类型设置0000-00-00默认值报错问题
- MySQL中date类型的空值0000-00-00和00:00:00
- Mysql 数据库date, datetime类型设置0000-00-00默认值报错问题
- MySQL 关于 Value '0000-00-00 00:00:00' can not be represented as java.sql.Timestamp 的错误
- MySQL 日期类型及默认设置 (除timestamp类型外,系统不支持其它时间类型字段设置默认值)
- Mysql sql_mode设置 timestamp default 0000-00-00 00:00:00 创建表失败处理
- MySQL关于Value '0000-00-00 00:00:00' can not be represented as java.sql.Timestamp