zoukankan      html  css  js  c++  java
  • 迁移数据时 timestamp类型字段报错: 1067

    MySQL数据库升级 8.0.13,原版本5.5;执行导出来的SQL文件时报错

    1067 - Invalid default value for 'login_time'

    原因:MySQL 5.6以后timestamp设定默认值规则改变,不能为”0000 00-00 00:00:00”

    而我的字段是:`login_time` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP COMMENT '登陆时间',

    问题解决:

    查看sql_mode:

    show session variables like '%sql_mode%';

    结果:STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION

    修改sql_mode,去掉NO_ZERO_IN_DATE,NO_ZERO_DATE:

    set sql_mode = "STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION";

    重新执行SQL文件即可;

    永久修改sql_model,需要修改my.ini文件;

  • 相关阅读:
    mysql学习笔记
    MySQL的MySQL 的JDBC的安装与使用
    numpy的使用方法
    Linux命令
    MongoDB数据库
    爬虫请求库之selenium
    解析库beautifulsoup
    Requests属性
    正向代理、反向代理
    爬虫基本原理
  • 原文地址:https://www.cnblogs.com/minutes/p/11288190.html
Copyright © 2011-2022 走看看