当前位置:   article > 正文

1292 - Incorrect datetime valuemysql插入非法的时间数据解决方案_1292 incorrect date value

1292 incorrect date value

1292 - Incorrect datetime valuemysql插入非法的时间数据解决方案

1292 - Incorrect datetime value: ‘0000-00-00 00:00:00’ for column ‘targetTime’ at row 1 的解决方案

前言

由于测试需要,需要在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

  • 1
  • 2

修改全局sql_mode:

set @@global.sql_mode = 'STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';

  • 1
  • 2

查看是否存在查看关于sql_mode的变量:

show variables like '%sql_mode%';#如果没有NO_ZERO_IN_DATE和NO_ZERO_DATE就说明修改成功

  • 1
  • 2

刷新你的表和数据库net start mysql(navicat直接刷新即可)

结果

这样就可以愉快的插入非法数据了

9998-11-30 00:00:00

0000-00-00 00:00:00

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/2023面试高手/article/detail/607148
推荐阅读
相关标签
  

闽ICP备14008679号