前言

  • myslq 5.7.31

错误

shell> mysql -uroot -p****** mydb < /root/mydb_backup.sql
mysql: [Warning] Using a password on the command line interface can be insecure.
ERROR 1067 (42000) at line 2097: Invalid default value for 'auth_time'

错误理解

auth_time 字段的默认值无效。

找到 auth_time 字段的声明为:

真实含义为,日期字段不能设置默认值为:‘0000-00-00 00:00:00’。

错误原因

mysql 的 sql_mode 有如下两个选项:

  • NO_ZERO_IN_DATE:在严格模式,不接受月或日部分为0的日期。如果使用IGNORE选项,我们为类似的日期插入’0000-00-00’。在非严格模式,可以接受该日期,但会生成警告。

  • NO_ZERO_DATE:在严格模式,不要将 '0000-00-00’做为合法日期。你仍然可以用IGNORE选项插入零日期。在非严格模式,可以接受该日期,但会生成警告

查看 sql_mode 印证一下:

mysql> select @@sql_mode;
+------------------------------------------------------------------------------------------------------------------------+
| @@sql_mode                                                                                                      |
+------------------------------------------------------------------------------------------------------------------------+
| STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION |
+------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)# 下面的命令也可以查看 sql_mode
mysql> select @@GLOBAL.sql_mode;
mysql> select @@SESSION.sql_mode;
mysql> show session variables like '%sql_mode%';

解决办法1:临时处理

  1. 查询出 sql_mode ,在其结果上去掉 NO_ZERO_IN_DATENO_ZERO_DATE俩选项后,得到新的 sql_mode 值。
  2. 设置 sql_mode 为计算得到的新的 sql_mode 值。

当前连接内有效的设置方式(只对当前连接有效,同一时间的其它连接内无效):

mysql> set @@sql_mode ='STRICT_TRANS_TABLES,,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';
mysql> set @@SESSION.sql_mode ='STRICT_TRANS_TABLES,,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';

当前运行环境内有效的设置方式(一旦mysql重启后,设置失效):

mysql> set @@GLOBAL.sql_mode ='STRICT_TRANS_TABLES,,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';

解决办法2:永久解决

  1. 找到mysql的配置文件my.cnf
  2. 在mysql的配置文件my.cnf 中修改 sql_mode 配置项。
  3. sql_mode 配置项的取值为:查询出 sql_mode ,在其结果上去掉 NO_ZERO_IN_DATENO_ZERO_DATE俩选项后,即为新的 sql_mode 值。
  4. 如果my.cnf 文件中不存在 sql_mode 配置项,手动添加。
  5. 修改完 my.cnf 文件后,重启 mysql。
shell> vi /etc/my.cnf
-----------------------------------------------------------------------------------------------------
[mysqld]
sql_mode=STRICT_TRANS_TABLES,,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
-----------------------------------------------------------------------------------------------------

Mysql ERROR 1067: Invalid default value for ‘auth_time‘相关推荐

  1. Mysql ERROR 1067: Invalid default value for ‘date’ 解决

    在给一个表添加字段的时候,忽然发现会报一个date类型的字段的默认值错误,郁闷~ 经过排查,原来是MySQL的配置问题,在wamp下,MySQL 5.7里是没有设置 SQL_MODE 的. 1.my. ...

  2. mysql 1067 invalid_mysql error 1067 invalid default timestamp

    问题 MySQL 5.7版本,在创建数据表时,使用以下语句定义一个字段: `update_time` timestamp DEFAULT '0000-00-00 00:00:00' ON UPDATE ...

  3. mysql 出现 “1067 - Invalid default value for ‘UPDATE_TIME‘ “ 错误提示的解决办法

    由于 tmp_wrh_1 的字段UPDATE_TIME 的字段类型是 timestamp ,默认值是:'0000-00-00 00:00:00' 即:`UPDATE_TIME` timestamp N ...

  4. MySQL数据迁移报错1067 - Invalid default value for ‘xxx‘

    本文使用Navicat解决MySQL数据迁移时候的报错1067 - Invalid default value for 'xxx'. 现象描述: 源数据库版本:5.6.36 目标数据库版本:5.7.2 ...

  5. mysql报错无效默认值1067_Mysql 报错:#1067 - Invalid default value for 'update_time

    由于 字段UPDATE_TIME 的字段类型是 timestamp ,默认值是:'0000-00-00 00:00:00' 即:`UPDATE_TIME` timestamp NOT NULL DEF ...

  6. 迁移数据时 timestamp类型字段报错: 1067 - Invalid default value for 'login_time'

    MySQL数据库升级 8.0.13,原版本5.5:执行导出来的SQL文件时报错 1067 - Invalid default value for 'login_time' 原因:MySQL 5.6以后 ...

  7. 1067 - Invalid default value for ‘TIME_STAMP_‘的错误解决

    问题现场: 本地安装的是mariaDB(10.5.8-MariaDB)数据库,部署环境上是mysql(5.7.39)数据库.在本地导出数据.sql文件后,在mysql数据库上进行执行,出现了以下报错. ...

  8. 1067 – Invalid default value for ‘id’

    1.报错 1067 – Invalid default value for 'id' 无效的默认值 2.将默认值设为空,报另外一个错 1067 – duplicate column name 'sta ...

  9. 导入数据库时报错1067 – Invalid default value for ‘字段名’

    最近把mysql升级到5.7了,wordpress导数据报错 Invalid default value for 'comment_date' 解决方案: 永久修改: 可以直接修改my.cnf文件例如 ...

最新文章

  1. 200万注册开发者,13亿张全景图片,90%数据生产环节AI化,百度地图生态全景升级2.0
  2. uml 时序图_设计模式:UML是怎么回事?设计原则?
  3. 总奖金40万元,图神经网络赛道baseline发布!教你用DGL做图任务
  4. mac 设置mysql开机自启动
  5. kafka 主动消费_Kafka核心API——Consumer消费者
  6. Homework1_3015218130_许鹏程
  7. 在vmware server中部署linux redhat 5.4 ORACLE RAC11g +ASM
  8. java构造函数的执行顺序,java构造函数和初始化函数的执行顺序
  9. 最小对/优先队列(C语言实现)
  10. 小学计算机房荷载,资深暖通设计师总结的常用参数参考值,新手们都说感谢大神支招...
  11. Android iTOP-4412全能版 CAN通信集成(完整篇)
  12. nslookup默认服务器修改,Windows nslookup“默认服务器:未知”是什么意思
  13. 批量插入测试数据的存储过程
  14. 简述自动化测试实习收获
  15. 袋鼠云研发手记 | 开源·数栈-扩展FlinkSQL实现流与维表的join
  16. mac java 安装教程_MAC安装JDK详细教程
  17. vue kepp-alive实践总结
  18. 救世之树服务端开服架设服务器搭建教程
  19. 梦想起航商务工作PPT模板-优页文档
  20. 【粗翻】CALIPSO数据用户指南-激光雷达等级1B 4.x数据质量声明

热门文章

  1. 灯鹭的简单开放,促进网站一举多赢
  2. [二]RabbitMQ-客户端源码之AMQConnection
  3. 使用Apache下poi创建和读取excel文件
  4. centos6.4 搭建knowlededgeroot-1.0.4知识库平台
  5. 转载:KOF97八神攻防战
  6. MyEclipse使用总结——使用MyEclipse打包带源码的jar包
  7. javaweb学习总结(十五)——JSP基础语法
  8. 减少图片HTTP 请求的方案
  9. ASP.NET-自定义HttpModule与HttpHandler
  10. VSS(2005)中如何强行签入文件