mysql报1292 Incorrect datetime value错误解决方法
2023-04-18 16:12:57 时间
mysql插入、修改datetime类型的字段,报 Incorrect datetime value 的错误,sql语句如下:
UPDATE xxx set time='2023-02-28T09:30:01.579049+08:00' WHERE id=1
如果去掉 +08:00 就可以插入。
试了网上说的查看并修改时区,都没用,最后发现是 sql_mode导致的。
默认的sql_mode的值是
ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
其中一个值是 STRICT_TRANS_TABLES ,这个选项会对日期时间类型的值进行严格的转换和检查,因此可能会导致日期时间值的解析和转换出现错误。
具体来说,STRICT_TRANS_TABLES 选项会强制 MySQL 对日期时间类型的值进行检查,确保其符合 MySQL 所定义的格式要求。如果日期时间字符串的格式不符合要求,MySQL 就会报 "Incorrect datetime value" 的错误。
在 /etc/my.cnf 中,显式地将sql_mode中的STRICT_TRANS_TABLES这个值去掉,或者将sql_mode置为空,重启mysql即可解决。
[mysqld]
# 对,我没打漏,等号右边就是为空
sql_mode =
相关文章
- 中国将开展互联网、大数据、人工智能等知识产权保护研究实践
- MySQL性能测试之insert&delete【FunTester框架】
- EasyNVR多通道非按需直播视频播放时卡顿如何处理?
- MySQL 常用命令一览(万字好文)
- 一篇就够!数据增强方法综述
- Mybatis Plus 新作 Mybatis Mate!数据权限神器
- Apache Hudi与Hive集成手册
- 技术负责人在创业进阶中如何蜕变?
- Spring认证中国教育管理中心-Spring Data REST框架教程一
- 基于Flink+ClickHouse打造轻量级点击流实时数仓
- 聊聊Kafka中值得我们学习的优秀设计
- 面向未来,我们来聊一聊什么是现代化数据架构 | Q推荐
- TCP粘包 |硬核图解
- 如何在列表,字典、集合中筛选数据——进阶学习
- 数组的使用
- ArcGis中的层是什么?
- 想在科技圈混 先了解这些科技流行词
- 谁是下一个BAT?
- 创业圈的五大潜规则 看懂这些再去创业!
- 阿里巴巴CTO王坚:计算经济时代已经到来!