zoukankan      html  css  js  c++  java
  • 解决:mysql5.7 timestamp默认值‘0000-00-00 00:00:00’报错

    mysql5.7

    运行sql脚本时报错

    1 [Err] 1067 - Invalid default value for 'UPDATE_TIME'
    2 [Err] CREATE TABLE `V_TBL_AMOUNT_REASON` (
    3   `ID` int(11) NOT NULL AUTO_INCREMENT,
    4   `AMOUNT_CODE` varchar(10) NOT NULL,
    5   `AMOUNT_VALUE` varchar(255) NOT NULL,
    6   `UPDATE_TIME` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP,
    7   PRIMARY KEY (`ID`)
    8 ) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8;

    这个问题和mysql中sql_mode有关系,我们可以采用两种方法来查看它的值

    方法一:

    SHOW VARIABLES LIKE 'sql_mode%';

    查询得到入下信息

     方法二:

    SELECT @@sql_mode;

    解决办法

    修改mysql配置文件(修改完重启服务)

    win下修改my.ini

    sql_mode='STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'
    #sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'

    linux

    在my.cnf[mysqld]下添加

    sql-mode=ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION  

    Mac系统下:

    在MacOS中默认是没有my.cnf 文件,如果需要对MySql 进行定制,拷贝/usr/local/mysql/support-files/目录  
    中任意一个.cnf 文件。笔者拷贝的是my-default.cnf,将它放到其他目录,按照上面修改完毕之后,更名为  
    my.cnf,然后拷贝到/etc目录再重启下mysql就大功告成了。


  • 相关阅读:
    Bootstrap3 代码-代码块
    DB2 911错误的解释
    Bootstrap3 代码-用户输入
    Bootstrap3 代码-内联代码
    Bootstrap3 排版-列表
    Bootstrap3 排版-引用
    Bootstrap3 排版-地址
    Bootstrap3 排版-缩略语
    Bootstrap3 排版-改变大小写
    Bootstrap3 排版-对齐
  • 原文地址:https://www.cnblogs.com/wang666/p/9186559.html
Copyright © 2011-2022 走看看