mysql 无法处理非法数据_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

修改全局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

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
这个错误是因为在插入数据时,使用了一个不正确的日期时间值。具体报错信息是1292 - Incorrect datetime value: '' for column 'createtime' at row 1。有几种可能的解决方案可以解决这个问题。 首先,你可以检查插入数据的日期时间格式是否符合数据库字段的要求。在MySQL中,日期时间格式应该是'YYYY-MM-DD HH:MM:SS'的形式。如果日期时间值为空,你可以尝试使用NULL或默认值作为替代。 其次,你可以检查数据库表中对应字段的数据类型是否正确。如果数据库表中的字段类型是timestamp,可能会受到时间范围的限制。timestamp类型的截止时间是北京时间2038-1-19 11:14:07。如果你插入的日期超过了这个时间范围,你可能需要将字段的类型修改为DATETIME或者调整插入的日期时间值。 最后,你还可以检查数据库服务器的时区设置。时区的不匹配也可能导致日期时间值被认为是不正确的。确保数据库服务器的时区设置与你应用程序的时区设置保持一致。 综上所述,解决这个错误的方法包括检查日期时间格式、检查字段类型、调整日期时间值以及检查时区设置。根据具体情况选择适合的解决方案即可解决这个问题。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [1292 - Incorrect datetime valuemysql插入非法时间数据解决方案](https://blog.csdn.net/outman_1921/article/details/106728315)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [Mysql报错:1292 - Incorrect datetime value for column create_time at row 1 解决方案](https://blog.csdn.net/guo_qiangqiang/article/details/123728655)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值