zoukankan      html  css  js  c++  java
  • [Linux]mysql错误总结-ERROR 1067 (42000): Invalid default value for TIMESTAMP

    MySQL的TIMESTAMP类型的默认值设置无效。

    0 使用环境描述

    Linux CentOS 7.8.2003
    x86/64bit
    MySQL: 5.7.24 (mysql --version / select version())

    1 分析

    ERROR 1067 (42000) at line 702: Invalid default value for 'CREATE_TIME' :对TIMESTAMP 类型的子段如果不设置缺省值或没有标志not null时候在创建表时会报这个错误
    sql_mode中的NO_ZEROR_DATE导致的,在strict mode中不允许'0000-00-00'作为合法日期

    2 解决过程

    step0 查看sql_mode

    mysql> show variables like 'sql_mode'; 
    (或 select @@sql_mode)
    +---------------+----------------------------------------------------------------------------------------------------------------------------------
    | Variable_name | Value                                                                                                                                     |
    +---------------+----------------------------------------------------------------------------------------------------------------------------------
    | 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 |
    +---------------+----------------------------------------------------------------------------------------------------------------------------------
    

    step1 重置mysql的sql_mode

    思路: 将上面的【NO_ZERO_DATE】改为下面的 【ALLOW_INVALID_DATES】

    • 方式1: my.cnf(永久性配置)
    cmd: cd /etc/my.cnf
    
    my.cnf: sql_mode=ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,ALLOW_INVALID_DATES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
    
    • 方式2: 临时性

    退出当前会话后,又将自动恢复为NO_ZERO_DATE

    set sql_mode='ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,ALLOW_INVALID_DATES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'
    

    step2 重启MySQL服务

    务必重启,方能保证配置生效。

    [root@xufeng ~]# service mysqld restart (或 systemctl restart mysqld[.service])
    Redirecting to /bin/systemctl restart mysqld.service
    

    3 参考文献

  • 相关阅读:
    execl csv导出
    input里面check 状态检测
    注意这种方法的判断
    本周,上周,本月,上月
    bootstrap 兼容IE8设置
    js jquery 验证写法
    Jquery radio checked
    最简单的XML转数组
    eq,neq,gt,lt等表达式缩写
    python中的注释
  • 原文地址:https://www.cnblogs.com/johnnyzen/p/13175720.html
Copyright © 2011-2022 走看看