我的编程空间,编程开发者的网络收藏夹
学习永远不晚

mysql报1292 Incorrect datetime value错误解决方法

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

mysql报1292 Incorrect datetime value错误解决方法

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 =

来源地址:https://blog.csdn.net/CHEndorid/article/details/129256611

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

mysql报1292 Incorrect datetime value错误解决方法

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

mysql报1292 Incorrect datetime value错误的解决方法

mysql插入、修改datetime类型的字段,报 Incorrect datetime value 的错误,sql语句如下:UPDATE xxx set time='2023-02-28T09:30:01.579049+08:00' W
2023-08-07

Mysql报错1292:Incorrect datetime value for column creat解决方案

当MySQL出现错误1292时,通常是因为插入或更新日期时间值时遇到了以下问题:数据类型不兼容、格式无效、存在无效值。要解决此错误,请检查数据类型是否正确,确保日期时间值采用正确的格式,并检查是否存在无效值。另外,可以使用字符串文字、函数或其他技巧插入数据。
Mysql报错1292:Incorrect datetime value for column creat解决方案
2024-04-02

解决MySQL报错incorrect datetime value '0000-00-00 00:00:00' for column

目录使用navicat导入数据时报错:解决方案总结使用navicat导入数据时报错:mysql 报错 incorrect datetime value ‘0000-00-00 00:00:00’ for colum
2023-08-11

Incorrect datetime value: 'datetime_value' - 如何解决MySQL报错:日期时间值不正确

这个错误通常是由于我们插入或更新数据库中的日期时间字段时,所提供的值格式不正确而引起的。为了解决这个问题,我们需要检查和调整输入的日期时间值,确保它们符合MySQL对日期时间格式的要求。下面是一些常见的日期时间值错误以及如何解决它们的示例代
2023-10-21

MySQL提示Truncated incorrect DOUBLE value解决方法

MySQL中遇到“截断不正确的DOUBLE值”错误时:验证数据格式和范围(-2^63到2^63-1)。检查约束(CHECK约束或FOREIGNKEY约束)是否限制了值范围。使用CAST()函数显式转换值。调整字段长度为更大的数据类型(DECIMAL或NUMERIC)。分解特别大的值到多个字段。使用存储过程或触发器进行值验证。预防措施:妥善选择数据类型。验证用户输入并拒绝超范围的值。使用范围检查约束限制值范围。定期监控表数据以查找截断错误。
MySQL提示Truncated incorrect DOUBLE value解决方法
2024-04-02

MySQL提示Truncated incorrect DOUBLE value解决方法

MySQL中"TruncatedincorrectDOUBLEvalue"错误的解决方法:检查数据值是否在有效范围内。验证列类型和长度是否匹配值。使用CAST()函数显式转换值。增加列长度以容纳值。使用ROUND()函数四舍五入值。检查并设置ROUNDHALFEVEN舍入模式。谨慎使用浮点数据类型,考虑其他存储方式。使用preparedstatements防止SQL注入攻击。定期检查和清理数据库数据。
MySQL提示Truncated incorrect DOUBLE value解决方法
2024-04-02

Incorrect syntax near 'error_keyword' - 如何解决MySQL报错:语法错误

首先,让我们看一下为什么会发生这个错误。MySQL查询语句是按照特定的语法规则编写的,如果代码中存在任何语法错误,MySQL将无法正确地解析和执行查询。例如,可能会使用错误的关键字、忘记使用逗号来分隔列名,或者使用了错误的引号等等。为了解决
2023-10-21

Navicat连接mysql报错1251错误的解决方法

本文为大家分享了Navicat连接mysql报错1251错误的解决方法,供大家参js考错误提示出现这个原因是mysql8 之前的版本中加密规则是mysql_native_password,而在mysql8之后,加密规则是caching_s
2022-07-19

如何解决MySQL报错:语法错误

要解决MySQL报错:语法错误,可以按照以下步骤进行处理:1. 仔细检查SQL语句:首先检查SQL语句是否有拼写错误或者语法错误。确保所有的关键字、表名、列名等都是正确的,并且符合MySQL的语法规范。2. 使用MySQL命令行工具:如果报
2023-10-10

Incorrect key file for table 'table_name' - 如何解决MySQL报错:错误的索引文件

那么,如何解决这个问题呢?下面我将向大家介绍几种常见的解决方法,并附上具体的代码示例。修复数据表:错误的索引文件可能是由于数据表损坏所致。我们可以尝试使用"REPAIR TABLE"命令修复数据表。具体的代码示例如下:REPAIR TABL
2023-10-21

编程热搜

目录