我正在使用带有MySQL 8的WordPress5.5。我已经完成了所有的设置,并且去更改了wp_users表的结构,但是由于错误'user_registered‘的默认值无效而无法修改该表。
这是Wordpress创建的当前列定义:
user_registered datetime default '0000-00-00 00:00:00' not null,将缺省值更改为'0‘会产生相同的错误消息。
一个表如何存在并工作,但有一个无效的缺省值?我可以输入的默认值是什么,它不会导致Wordpress出现问题?
我使用的是DigitalOcean shared MySQL服务器,因此无法将服务器模式更改为允许零日期时间值。
我已经看到了一些关于这个问题的答案,但它们都与Wordpress 5.5和更早版本有关,或者没有解决如何让MySQL解决这个问题,或者需要更改MySQL配置,而这在这里是不可能的。
MySQL版本: 8.0.19
InnoDB版本: 8.0.19
Wordpress版本: 5.5.1
发布于 2021-11-16 10:16:39
这通常是将导出的数据库从MySQL 5移动到MySQL 8时出现的问题。
您需要打开.sql文件,并将以下行放在顶部:
SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
SET time_zone = "+00:00";这解决了我在WordPress和Magento上的导入问题。
发布于 2021-03-31 22:19:04
这个问题是因为sql_modes。请通过命令检查您当前的sql_modes:
显示像' sql_mode‘这样的变量;并删除sql_mode "NO_ZERO_IN_DATE,NO_ZERO_DATE“以使其正常工作。这是mysql新版本中的默认sql_mode。
您可以通过以下命令将sql_mode全局设置为根:
设置全局sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION';
请参阅解决方案here
https://stackoverflow.com/questions/63767994
复制相似问题