「Java笔记」 mysql 5.7 column cannot be null

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

内容简介:独立测试环境安装了数据库,但安装的版本是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》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

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

SEO深度解析

SEO深度解析

痞子瑞 / 电子工业出版社 / 2014-3-1 / CNY 99.00

《SEO深度解析》以SEO从业人员普遍存在的疑问、经常讨论的问题、容易被忽视的细节以及常见的错误理论为基础,对SEO行业所包含的各方面内容进行了深入的讨论,使读者更加清晰地了解SEO及操作思路。内容分为两类:一类为作者根据自己真实、丰富的SEO经验对SEO所涉及的各种问题进行详细的讨论,主要包括SEO 基础原理剖析、SEO实操思路方法、常用工具数据剖析、竞争对手分析案例实操、网站数据分析思路指导、......一起来看看 《SEO深度解析》 这本书的介绍吧!

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具