为什么我在 MySQL 中收到'日期值不正确”错误?

Susan Sarandon
发布: 2024-10-29 07:55:02
原创
425 人浏览过

Why am I getting an

MySQL 中的日期值错误

尝试将数据插入 MySQL 表时,可能会出现错误代码 1292,表示错误日期值。当使用 MySQL 不支持的日期格式时,通常会遇到此错误。

在给定的示例中,查询尝试插入“dd-mm-yyyy”格式的日期,但该格式无法识别由 MySQL 提供。要解决此问题,必须将查询中的日期格式更改为支持的格式。

在 MySQL 5.7 及更高版本中,默认的 SQL 模式是严格的,不允许某些操作,包括插入无效日期。要允许日期为零值(例如“0000-00-00 00:00:00”),必须修改 SQL 模式。

解决错误 1292 的步骤:

  1. 编辑MySQL配置文件:

    • 使用文本编辑器打开MySQL配置文件/etc/mysql/my.cnf(例如, nano)。
    • 找到 [mysqld] 部分。
  2. 添加新的 SQL 模式设置:

    • 将以下行添加到 [mysqld] 部分:
    sql_mode="NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
    登录后复制
  3. 重新启动 MySQL 服务器:

    • 运行以下命令重启 MySQL 服务:
    sudo service mysql restart
    登录后复制
  4. 重新插入数据:

    • 重启后MySQL,使用正确的日期格式(例如'2012-05-01')重新执行查询。
  5. 附加说明:

    • 对于 5.7 之前的 MySQL 版本,可以改用 ZERODATE 和 NO_ZERO_IN_DATE SQL 模式设置。
    • 如果错误仍然存​​在,请检查为 data_apertura 列定义的数据类型和约束表。

以上是为什么我在 MySQL 中收到'日期值不正确”错误?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板