首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >mysql5.7 column cannot be null

mysql5.7 column cannot be null

作者头像
千往
发布于 2018-01-24 03:26:17
发布于 2018-01-24 03:26:17
3K0
举报

背景

独立测试环境安装了数据库,但安装的版本是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 就可以正常执行了的

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017-12-22 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档