当前位置:   article > 正文

MySQL8报错:Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘last_attempt_gmt‘_mysql8 incorrect datetime value:

mysql8 incorrect datetime value:

MySQL8报错:Incorrect datetime value: ‘0000-00-00 00:00:00’ for column ‘last_attempt_gmt’
在 MySQL 中,sql_mode 用于定义数据库服务器的 SQL 模式,该模式影响 SQL 语句的执行行为。你可以使用以下步骤来设置 sql_mode

通过配置文件(永久设置):

  1. 打开 MySQL 配置文件,通常是 /etc/my.cnf/etc/mysql/my.cnf

  2. 在配置文件中找到 [mysqld] 部分。

  3. [mysqld] 部分下添加或修改 sql_mode 的值:

    [mysqld]
    sql_mode = ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
    
    • 1
    • 2
  4. 保存并关闭文件。

  5. 重启 MySQL 服务以使更改生效:

    sudo systemctl restart mysqld
    
    • 1

通过 SQL 命令(临时设置):

在 MySQL 命令行中,你可以使用以下语句来设置 sql_mode,但这只在当前会话中有效,当 MySQL 服务器重新启动时将被重置:

SET GLOBAL sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION';
SET SESSION sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION';
  • 1
  • 2

上述语句设置了全局 sql_mode 和会话级别的 sql_mode,以确保它在服务器重启后仍然有效。

请注意,如果你使用的是 MySQL 8.0 或更高版本,ERROR_FOR_DIVISION_BY_ZERO 通常已经包含在 STRICT_TRANS_TABLES 中,因此你可以仅设置 sql_modeONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION

请根据你的具体需求选择合适的 sql_mode 设置。

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

闽ICP备14008679号