mysql5.7 column cannot be null
背景
独立测试环境安装了数据库,但安装的版本是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
就可以正常执行了的
mysql5.7 column cannot be null的更多相关文章
- numeric column can contains null
- SSIS 处理NULL
		不同于SQL Server中NULL表示值是未知的(Unknown Value),没有数据类型,但是,在SSIS中,NULL是有数据类型的,要获取某一个NULL值,必须指定数据类型,例如,变量 Int ... 
- MySQL 中NULL和空值的区别
		平时我们在使用MySQL的时候,对于MySQL中的NULL值和空值区别不能很好的理解.注意到NULL值是未知的,且占用空间,不走索引,DBA建议建表的时候最好设置字段是NOT NULL 来避免这种低效 ... 
- mysql探究之null与not null
		相信很多用了mysql很久的人,对这两个字段属性的概念还不是很清楚,一般会有以下疑问: 1.我字段类型是not null,为什么我可以插入空值 2.为毛not null的效率比null高 3.判断字段 ... 
- 【MySQL】探究之null与not null
		相信很多用了mysql很久的人,对这两个字段属性的概念还不是很清楚,一般会有以下疑问: 我字段类型是not null,为什么我可以插入空值 为毛not null的效率比null高 判断字段不为空的时候 ... 
- MySQL 中NULL和空值的区别 (转载  http://blog.sina.com.cn/s/blog_3f2a82610102v4dn.html)
		平时我们在使用MySQL的时候,对于MySQL中的NULL值和空值区别不能很好的理解.注意到NULL值是未知的,且占用空间,不走索引,DBA建议建表的时候最好设置字段是NOT NULL 来避免这种低效 ... 
- mysql 的not null 与 null的区别(转,恍然大悟)
		相信很多用了mysql很久的人,对这两个字段属性的概念还不是很清楚,一般会有以下疑问: 1.我字段类型是not null,为什么我可以插入空值 2.为毛not null的效率比null高 3.判断字段 ... 
- mysql5.5大数据量下表结构升级
		升级一张4万多行(增加一个字段),且包含blob字段的表(blob字段包含100KB左右的数据),运行alter语句:ALTER TABLE `imgdetail` ADD COLUMN `uplo ... 
- 深入浅出PF 学习笔记---通过资源文件设置按钮的Style及通过x:null设置不受Style影响
		<Window x:Class="WpfStudy2018.StyleButton" xmlns="http://schemas.microsoft.com/win ... 
随机推荐
- Android ListView根据项数的大小自动改变高度
			第一种:按照listview的项数确定高度 ListAdapter listAdapter = listView.getAdapter(); if (listAdapter == null) ... 
- Windows RDP远程连接CentOS 7
			1. 打开已经安装了CentOS7的主机,以root用户登录,在桌面上打开一个终端,输入命令:rpm -qa|grep epel,查询是否已经安装epel库(epel是社区强烈打造的免费开源发行软 ... 
- MySQL转Oracle,MyBatis Mapper XML 文件修改项总结
			1.对于批量插入 需要更改成 <insert id="saveAll"> insert into(a,b,c) <foreach collection=" ... 
- tensorflow-eagerAPI
			调用该API可以不通过 tensorflow.Session.run()调用 定义的张量constant tensor,可以直接print # -*- coding: utf-8 -*- from _ ... 
- Spring集成的Quartz 并发
			以前经常在任务调度程序中使用Spring集成的Quartz,这种方式可以用简单的声明式配置即可实现定时任务,并结合了Spring自身的Bean的管理功能,非常方便.配置样本如下: <bean i ... 
- css常用属性初总结:font
			平时在做项目时,UX常说的一句话就是“这里的字体不对吧,字体大小也不太对,你们前端有没有按规范来”,今天,我们就一起来看看这折磨人的font属性. 字体属性font-family 允许值 系列名 初始 ... 
- Redis Key操作
			[Redis Key操作] 1.GETSET key value 将给定 key 的值设为 value ,并返回 key 的旧值(old value). 当 key 存在但不是字符串类型时,返回一个错 ... 
- Docker私有仓库registry的搭建及使用
			前言 由于Docker Hub公共仓库很多时候使用这并不是很方便,大分部因为网络的问题可能拉取的时候会很慢或者拉取不到,所以搭建一个本地的私有仓库. 准备 由于此篇文章是在Kubernetes集群安装 ... 
- Java项目的结构
			-------siwuxie095 以 Hello World 为例 这个工程用一个文件夹表示,被放置在左侧的资源管理面板 Package Explorer 中 ... 
- c语言静态断言
			在php中可以通过xdebug来显示详细的错误信息,可以细化到哪个文件哪行代码引起的报错.在C语言里面也可以通过静态断言(assert)来使得调试代码更加方便.关于断言,可以作为一种很强大的调试方式或 ... 
