mysql5.6.20数据库sql_mode模式设置
admin
2023-05-17 11:02:17
0

开发需求要求通过php后台程序导入数据到mysql的某个库的表中,但是报错:Incorrect integer value: '' for column 'id' at row 1。同时自己在mysql5.6的数据库的这个表中insert into 一条数据,insert into log values('','admin','31','002t'),还是报错出现上面同样的错误。

于是网上百度找到解决办法:

参考资料:http://blog.csdn.net/j2eelamp/article/details/6866614 

解决办法:

后来查了下MySQL的资料。发现5以上的版本如果是空值应该要写NULL

这种问题一般mysql 5.x上出现。我用的mysql5.1

官方解释说:得知新版本mysql对空值插入有"bug",要在安装mysql的时候去除默认勾选的enable strict SQL mode


同时我线上的mysql数据库的版本为mysql5.6.20.

于是找到一文档:

mysql5.6 sql_mode设置

参考资料:

由于数据人员的需求,现在需要修改mysql的sql_mode 

sql_mode默认是sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES 

这时候我在/etc/my.cnf配置如下

sql_mode=NO_ENGINE_SUBSTITUTION

重启后还是

mysql> SELECT @@GLOBAL.sql_mode;

+--------------------------------------------+

| @@GLOBAL.sql_mode |

+--------------------------------------------+

| STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION |

+--------------------------------------------+

1 row in set (0.00 sec)

这是因为我编译安装的目录下面有一个文件叫my.cnf,然而这个文件里有sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES 这一项

把这个my.cnf  mv my.cnf my.cnf.ori

 grep sql_mode /usr/local/mysql/my.cnf.ori 

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES 


同时在/etc/my.cnf 文件中设置:

sql_mode= NO_AUTO_Create_USER,NO_ENGINE_SUBSTITUTION

grep "sql_mode" /etc/my.cnf

sql_mode=NO_AUTO_Create_USER,NO_ENGINE_SUBSTITUTION


再重启mysql


mysql> SELECT @@GLOBAL.sql_mode;

+--------------------------------------------+

| @@GLOBAL.sql_mode                          |

+--------------------------------------------+

| NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION |

+--------------------------------------------+

此时开发再次导入数据到后台,不再报错。

相关内容

热门资讯

河南2026年“三支一扶”计划... 针对近期备受关注的2026年河南省“三支一扶”计划招募相关舆情,河南省“三支一扶”领导小组协调办公室...
以卵击石的“汉光演习”不过是一... 昨天题为《人民解放军越强大,台海和平越有保障》的海风文章,已经反映了一部分台海局势的现实。若再把8月...
美国一养老社区将推出面向老人的... 据《独立报》8月1日报道,美国亚利桑那州一养老社区将引入一台专为老年人设计的大麻自助售卖机,居民无需...
“你头发都白了”,同守广西边防... “你头发都白了,模样还是没变,就是没有年轻时候那么帅了。”
小米手机再度涨价:旗舰最高上涨... 8月2日,小米商城价格更新,多款主力机型上调300元至500元不等。其中,REDMI Turbo 5...
“真实社交”售卖“优先访问权”... 据了解,购买这项服务的企业能够直接接入“真实社交”数据源,辅以人工智能技术解读信息,进而提前把握市场...
原创 狂... 英伟达正式官宣与 Safe Superintelligence(SSI)达成长期战略合作,总投资规模...
马斯克最新预言来了,钱要没用了... “以法莲是商人,手里有诡诈的天平,爱行欺骗!”——圣经 据红星新闻报道,本月,埃隆·马斯克在接受专...
遭欧盟22国“围攻”,西班牙怒... 西班牙首相桑切斯与22个欧盟成员国领导人激烈交锋后,由轮值主席国爱尔兰正式召集,欧盟将于本周二(8月...
创维电视42d9指示灯不亮 1、可能为电源插座插头的故障。2、可能为电源连接线的故障。3、可能为电视内部开关电源电路出了故障。4...