wordpress数据库迁移Invalid default value for ‘comment_date‘

问题说明

最近在往新的电脑上迁移一个wordpress网站,在往新电脑上的mysql数据库中导入数据时,报错:1067 - Invalid default value for 'comment_date'。

异常分析

这个错误的字面意思就是字段'comment_date'的默认值是无效的,于是查了一下我的导入sql文件,在里面的表wp_comments中找到了字段comment_date,它的默认值是:'0000-00-00 00:00:00',我电脑上装的mysql是5.7.x版本的,而在mysql5.7版本中mysql的sql_mode添加了两个参数:NO_ZERO_IN_DATE和NO_ZERO_DATE,其中NO_ZERO_IN_DATE表示mysql中插入的时间字段值(包括字段的默认值),不允许日期和月份为0;NO_ZERO_DATE表示mysql中插入的时间字段值(包括字段的默认值),不允许日期为0。

异常解决

原因是mysql的版本升级之后,字段comment_date的默认值不能是0

解决办法:导出数据库为sql文件,然后全文本进行替换

sql 复制代码
//1  comment_date默认内容进行替换
0000-00-00 00:00:00 替换为1970-01-01 08:00:01
//2  建表时utf8 5.7的排序规则选择你sql文件中的排序规则,一般都是以utf8mb4开头的字段
utf8mb4_unicode_520_ci 替换为  utf8mb4_0900_ai_ci

或者创建数据库的时候,就指定排序规则:

相关推荐
李广坤1 小时前
MySQL 大表字段变更实践(改名 + 改类型 + 改长度)
数据库
爱可生开源社区1 天前
2026 年,优秀的 DBA 需要具备哪些素质?
数据库·人工智能·dba
随逸1771 天前
《从零搭建NestJS项目》
数据库·typescript
加号32 天前
windows系统下mysql多源数据库同步部署
数据库·windows·mysql
シ風箏2 天前
MySQL【部署 04】Docker部署 MySQL8.0.32 版本(网盘镜像及启动命令分享)
数据库·mysql·docker
李慕婉学姐2 天前
Springboot智慧社区系统设计与开发6n99s526(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
数据库·spring boot·后端
百锦再2 天前
Django实现接口token检测的实现方案
数据库·python·django·sqlite·flask·fastapi·pip
tryCbest2 天前
数据库SQL学习
数据库·sql
jnrjian2 天前
ORA-01017 查找机器名 用户名 以及library cache lock 参数含义
数据库·oracle
十月南城2 天前
数据湖技术对比——Iceberg、Hudi、Delta的表格格式与维护策略
大数据·数据库·数据仓库·hive·hadoop·spark