mysql升级到5.7时,wordpress导数据报错1067的问题

 更新时间:2021年05月27日 12:07:56   作者:wpjamer  
小编最近把mysql升级到5.7了,wordpress导数据报错,导入数据库时报1067 – Invalid default value for ‘字段名’的问题,怎么解决这个问题,下面小编把我的解决方案分享到脚本之家平台供大家参考,希望对大家有所帮助

最近把mysql升级到5.7了,wordpress导数据报错

Invalid default value for 'comment_date'

原因出在类似这样的语句

DROP TABLE IF EXISTS `wp_comments`;
CREATE TABLE `wp_comments`  (
  `comment_ID` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT,
  `comment_post_ID` bigint(20) UNSIGNED NOT NULL DEFAULT 0,
  `comment_author` tinytext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_520_ci NOT NULL,
  `comment_author_email` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_520_ci NOT NULL DEFAULT '',
  `comment_author_url` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_520_ci NOT NULL DEFAULT '',
  `comment_author_IP` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_520_ci NOT NULL DEFAULT '',
  `comment_date` datetime(0) NOT NULL DEFAULT '0000-00-00 00:00:00',
  `comment_date_gmt` datetime(0) NOT NULL DEFAULT '0000-00-00 00:00:00',
  `comment_content` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_520_ci NOT NULL,
  `comment_karma` int(11) NOT NULL DEFAULT 0,
  `comment_approved` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_520_ci NOT NULL DEFAULT '1',
  `comment_agent` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_520_ci NOT NULL DEFAULT '',
  `comment_type` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_520_ci NOT NULL DEFAULT '',
  `comment_parent` bigint(20) UNSIGNED NOT NULL DEFAULT 0,
  `user_id` bigint(20) UNSIGNED NOT NULL DEFAULT 0,
  PRIMARY KEY (`comment_ID`) USING BTREE,
  INDEX `comment_post_ID`(`comment_post_ID`) USING BTREE,
  INDEX `comment_approved_date_gmt`(`comment_approved`, `comment_date_gmt`) USING BTREE,
  INDEX `comment_date_gmt`(`comment_date_gmt`) USING BTREE,
  INDEX `comment_parent`(`comment_parent`) USING BTREE,
  INDEX `comment_author_email`(`comment_author_email`(10)) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 35 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_520_ci ROW_FORMAT = Dynamic;

这种报错多是你mysql升级到5.7而引起的默认值不兼容的问题。看看你的字段名是什么,我的是时间字段,类型是datetime。想到可能是类型的默认值被限制了,查看sql_mode。果然:NO_ZERO_IN_DATE,NO_ZERO_DATE这两个参数限制时间不能为0

查看sql_mode

mysql> show variables like '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 |
+---------------+-------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)

mysql>

临时修改:

mysql> set session
 -> sql_mode='ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';
Query OK, 0 rows affected, 1 warning (0.00 sec)

mysql>

永久修改:

可以直接修改my.cnf文件

例如: vim /etc/my.cnf

Windows环境下修改mysql.ini配置文件就解决了~

在[mysqld]下面添加如下列:

sql_mode=ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

ok问题解决,现在你导入或者创建表时看看!

以上就是解决mysql升级到5.7时wordpress导数据报错1067问题的详细内容,更多关于mysql导入数据库报错1067 的资料请关注脚本之家其它相关文章!

相关文章

  • sysbench对mysql压力测试的详细教程

    sysbench对mysql压力测试的详细教程

    众所周知sysbench是一个模块化的、跨平台、多线程基准测试工具,主要用于评估测试各种不同系统参数下的数据库负载情况。下面这篇文章就来详细介绍sysbench如何对mysql进行压力测试,有需要的可以一起来看看。
    2016-09-09
  • MySQL语句整理及汇总介绍

    MySQL语句整理及汇总介绍

    今天小编就为大家分享一篇关于MySQL语句整理及汇总介绍,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-01-01
  • MySQL数据中很多换行符和回车符的解决方法

    MySQL数据中很多换行符和回车符的解决方法

    这篇文章主要给大家介绍了关于MySQL数据中很多换行符和回车符的解决方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-10-10
  • 详解一条sql语句在mysql中是如何执行的

    详解一条sql语句在mysql中是如何执行的

    这篇文章主要介绍了一条sql语句在mysql中是如何执行的,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-03-03
  • mysql中如何根据经纬度计算距离

    mysql中如何根据经纬度计算距离

    这篇文章主要给大家介绍了关于mysql中如何根据经纬度计算距离的相关资料,经纬度距离计算方法是一种用来计算地球上两个点之间距离的方法,它可以在MySQL数据库中轻松实现,非常适用于需要进行地理定位的应用程序,需要的朋友可以参考下
    2023-08-08
  • MySQL查询性能优化七种方式索引潜水

    MySQL查询性能优化七种方式索引潜水

    这篇文章主要介绍了MySQL查询性能优化七种方式索引潜水,文章为荣啊主题展开详细的内容介绍,具有一定的参考价值,需要的朋友可以参考一下
    2022-08-08
  • mysql日志文件在哪 如何修改MySQL日志文件位置

    mysql日志文件在哪 如何修改MySQL日志文件位置

    MySQL日志文件相信大家都有很多的了解,MySQL日志文件一般在:/var/log/mysqld.log,下面介绍如何修改MySQL日志文件位置,需要的朋友可以参考下
    2012-12-12
  • MySQL借助DB实现分布式锁思路详解

    MySQL借助DB实现分布式锁思路详解

    这篇文章主要给大家介绍了关于MySQL借助DB实现分布式锁思路的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用MySQL具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-10-10
  • Ubuntu15下mysql5.6.25不支持中文的解决办法

    Ubuntu15下mysql5.6.25不支持中文的解决办法

    Ubuntu15下mysql5.6.25出现乱码,不支持中文,该问题如何解决呢?下面看看小编是怎么解决此问题的,需要的朋友可以参考下
    2015-09-09
  • Linux系统MySQL8.0.19快速安装配置教程图解

    Linux系统MySQL8.0.19快速安装配置教程图解

    这篇文章主要介绍了Linux系统MySQL8.0.19快速安装配置教程,本文通过图文并茂的形式给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-02-02

最新评论