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 分钟前
认识一下Unicode(统一码)
android·java·数据库
xywww16820 分钟前
Claude Opus 5 API 接入实战:国内项目上线前的网络、Key、限流和排错清单
大数据·linux·网络·数据库·云计算·aws
yuezhilangniao29 分钟前
某专科医院老数据库迁移实战记录-Oracle10g sqlserver2008等
数据库
白猫不黑32 分钟前
SQL注入实战:手工注入全流程详解
网络·数据库·sql·web安全·网络安全·信息安全
kirs_ur10 小时前
ECC & LDPC — SSD 的数据卫士
服务器·数据库·性能优化
是三一seven11 小时前
Sql注入基础
数据库·安全·网络安全
Sirens.11 小时前
MySQL表设计进阶-约束范式连接索引与事务
android·数据库·mysql
字节跳动开源13 小时前
火山引擎开源 Agent 驱动的搜索自迭代技术
数据库·开源·agent
Oo大司命oO15 小时前
藏在正则表达式里的陷阱
数据库·mysql·正则表达式
_oP_i16 小时前
mysql统计数据库使用存储大小
数据库