「Java笔记」 mysql 5.7 column cannot be null

栏目: 数据库 · Mysql · 发布时间: 5年前

内容简介:独立测试环境安装了数据库,但安装的版本是mysql 5.7的版本,而研发用的是mysql5.6的版本,在执行某个数据库操作的提示,提示column “xxxx”cannot be null最快速的方法就是直接询问研发,告知是DB问题,因为mysql从哪个版本开始默认的时间这块有改动,需要修改配置;MySQL升级后,在执行sql语句

背景

独立测试环境安装了数据库,但安装的版本是 mysql 5.7的版本,而研发用的是mysql5.6的版本,在执行某个数据库操作的提示,提示column “xxxx”cannot be null

问题解决

最快速的方法就是直接询问研发,告知是DB问题,因为mysql从哪个版本开始默认的时间这块有改动,需要修改配置;

MySQL升级后,在执行 sql 语句

insert INTO `表名` ( ) VALUES ( );

时出现错误:

#1264 - Out of range value for column ‘’ at row 1
#1048 - Column 'id' cannot be null

原因:新版本的MySQL对字段的严格检查。(使用了auto_increment )

解决方法:

修改 my.ini ,将

sql-mode=”STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION”

改为

sql-mode=”NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION”。

重新启动MySQL。

Linux 下是改 /etc/my.cnf ,可能没有sql-mode,

可在[mysqld] 下加

sql-mode=”NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION”

mysql> SELECT @@sql_mode; 查询当前模式

但我在修改这个完后还是无法解决,后来又排查到时另外一个字段的问题-- explicit_defaults_for_timestamp

[mysqld]

explicit_defaults_for_timestamp=false

就可以正常执行了的


以上所述就是小编给大家介绍的《「Java笔记」 mysql 5.7 column cannot be null》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

网络英雄传

网络英雄传

郭羽、刘波 / 江苏凤凰文艺出版社 / 2018-6 / 59.80元

“商战鬼才郭羽、营销奇才刘波强强联手,凝集十年实战经验,倾力打造商战巨作。” 这是一个商业竞争和资本激战交织的惊心动魄的创业交锋故事。 由郭天宇、刘帅共同创立的在线旅游公司万全天盛凭借其出色的商业模式异军突起,与老牌巨头“51旅游网”两强相争,但国际巨头通远来势汹汹,国内在线旅游市场进入战火纷飞的“三国杀”时代,分踞杭、沪、京三地互相“搏杀”。中国新兴的互联网公司面对国际巨头的入侵,毫不退缩......一起来看看 《网络英雄传》 这本书的介绍吧!

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

在线进制转换器
在线进制转换器

各进制数互转换器

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具