出错原因

mysql5.7版本引起的默认值不兼容的问题,同样的问题在mysql8.0可能也会出现。

出问题的值有:

NO_ZERO_IN_DATE

在严格模式下,不允许日期和月份为零。

NO_ZERO_DATE

设置该值,mysql数据库不允许插入零日期,插入零日期会抛出错误而不是警告。

ONLY_FULL_GROUP_BY

对于GROUP BY聚合操作,如果在SELECT中的列,没有在GROUP BY中出现,那么这个SQL是不合法的,因为列不在GROUP BY从句中。

解决方式

方式一

执行select @@sql_mode,复制查询出来的值并将其中的NO_ZERO_DATE删除,然后执行set sql_mode = ‘修改后的值’

此方法只在当前会话中生效

方式二

执行select @@global.sql_mode,复制查询出来的值并将其中的NO_ZERO_DATE删除,然后执行set global sql_mode = ‘修改后的值’

此方法在当前服务中生效,重新MySQL服务后失效

方法三

在mysql的安装目录下,打开my.ini或my.cnf文件,在wamp下,MySQL 5.7里是没有设置 SQL_MODE 的。

1.my.ini文件中找到 [mysqld]

2.如果没有SQL_MODE,就添加,有就修改一下

sql_mode="STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION"

或者

sql_mode=ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

最后重启MySQL

service mysqld restart

mysql [Err] 1067 - Invalid default value for的更多相关文章

  1. mysql error 1067 invalid default timestamp

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

  2. Mysql ERROR 1067: Invalid default value for 字段

    问题: //今天把一个数据库的sql文件导入到另一个数据库出现以下异常: Mysql ERROR 1067: Invalid default value for 字段 //原因是因为之前导出数据里面有 ...

  3. 【错误】mysql 出现 "1067 - Invalid default value for 'UPDATE_TIME' " 错误提示的解决办法

    今天工作中遇到修改表结构的时候出现错误 Invalid default value for 'UPDATE_TIME 问题原因是因为db 表中update_time的默认时间写成了 '0000-00- ...

  4. Mysql导入表信息[Err] 1067 - Invalid default value for '字段名'

    修改mysql配置文件 vi /etc/my.cnf //添加以下配置 sql_mode=ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISI ...

  5. mysql导入文件 日期时间报错:[Err] 1067 - Invalid default value for 'active_time'

    报错原因意思是说:mysql5.7版本中有了一个STRICT mode(严格模式),而在此模式下默认是不允许设置日期时间的值为全0值的,所以想要  解决这个问题,就需要修改sql_mode的值. 修改 ...

  6. [Err] 1067 - Invalid default value for 'xxxTime'

    下面是导入sql脚本的的局部脚本 `xxxTime` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', 发现是NO_ZERO_IN_DATE,NO_Z ...

  7. 【MySql】Mysql ERROR 1067: Invalid default value for ‘date’ 解决

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

  8. mysql创建表时,设置timestamp DEFAULT NULL报错1067 - Invalid default value for 'updated_at'

    问题背景: 线上的linux服务器上的mysql服务器中导出数据库的结构.想要在本地创建一个测试版本 导出后再本地mysql上运行却报错   1067 - Invalid default value ...

  9. mysql 1067 - Invalid default value for 'addtime'错误处理

    错误描述 TABLE `bota_payment_closing` ( `id` int(11) NOT NULL AUTO_INCREMENT, `monthly` varchar(8) NOT N ...

  10. Mysql 报错:#1067 - Invalid default value for 'update_time

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

随机推荐

  1. Qt通用方法及类库9

    函数名 //字节数组转Ascii字符串 static QString byteArrayToAsciiStr(const QByteArray &data); //16进制字符串转字节数组 s ...

  2. 网页开发中使用javascript语言时浏览器操作时弹出错误:Uncaught TypeError: Cannot set property 'onClick' of null。

    在Chrome浏览器下,遇到了这个错误提示:Uncaught TypeError: Cannot set property 'onClick' of null. 先贴一下JS的代码: document ...

  3. 记录uniapp上传图片转base64

    // 图片转base64 imageToBase64() { return new Promise((reslove, reject) => { uni.getFileSystemManager ...

  4. .NET Core 委托原理解析

    .NET Core 委托原理解析 在 .NET Core 中,委托(Delegate)是一种类型安全的函数指针,它允许你将方法作为参数传递给其他方法,或者将方法存储在变量中以便稍后调用.委托在事件处理 ...

  5. Solution Set - “让季节停止哽咽”

    目录 0.「CTT 2017」「洛谷 P4004」Hello world! 1.「CTT 2017」「洛谷 P4006」小 Y 和二叉树 2.「CTT 2017」「洛谷 P4226」避难所 3.「AG ...

  6. runoob-android

    https://www.runoob.com/android/android-tutorial.html https://www.runoob.com/w3cnote/android-tutorial ...

  7. 经典算法的Java实现

    1.快速排序描述 1.每一轮排序选择一个基准点(pivot)进行分区 1.让小于基准点的元素进入一个分区,大于基准点的元素进入另一个分区 2.当分区完成时,基准点元素的位置就是其最终位置 2.在子分区 ...

  8. IPv6的优势分析

    本文分享自天翼云开发者社区<IPv6的优势分析>,作者:没烦恼 IPv6的优势分析 1.更大的地址空间 IPv6中IP地址的长度为128位,其地址容量则达到了2^128个,远远大于IPv4 ...

  9. MySQL主从复制-原理实战

    一.原理 主从复制架构图:主从复制原理: Mysql 中有一种日志叫做 bin 日志(二进制日志).这个日志会记录下所有修改了数据库的SQL 语句(insert,update,delete,creat ...

  10. Yarn提交Flink任务参数介绍

    一.参数介绍 作业模式:yarn-per-job 基本参数 描述 -ynm(Custom Yarnname) 自定义的Yarn名字 -yqu 指定Yarn队列名 -yn (TaskManager)  ...