赞
踩
由于测试需要,需要在mysql中插入0000-00-00 00:00:00这种非法数据。实际报错:1292 - Incorrect datetime value
’0000-00-00’保存为“伪日期”,但是MySQL有一个NO_ZERO_DATE SQL模式,这是mysql5.7版本以后出现的(具体是版本问题引起的),这个模式默认是打开的,不允许产生伪日期,所以要关掉这个选项。执行SQL语句:
查看全局sql_mode:
select @@global.sql_mode;#可以看到NO_ZERO_DATE SQL
修改全局sql_mode:
set @@global.sql_mode = 'STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';
查看是否存在查看关于sql_mode的变量:
show variables like '%sql_mode%';#如果没有NO_ZERO_IN_DATE和NO_ZERO_DATE就说明修改成功
刷新你的表和数据库net start mysql(navicat直接刷新即可)
这样就可以愉快的插入非法数据了
9998-11-30 00:00:00
0000-00-00 00:00:00
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。