是否有可能修复WordPress MS数据库的所有索引、主键、唯一(和所有其他)结构

时间:2019-02-18 作者:Alper

我备份了我的多站点数据库(通过从PhpMyAdmin导出),然后在出现一些问题后,我决定还原原始数据库(备份的数据库),然后再次导入(通过PhpMyAdmin上载)(并删除了我电脑上的文件)。

但一段时间后,我在所有网站上都遇到了一些关于帖子、页面和其他帖子类型的问题(我无法添加新页面,页面ID变为0(多个))。我读过一些关于这个问题的帖子(数据库索引、唯一键和其他结构数据已经损坏)。我知道,要么是导入过程被破坏,要么是我的导出文件有一些问题。

虽然我认为我已经解决了这些问题,但这次分类法也发生了同样的事情。当我检查(所有多站点数据库的)与分类法相关的表时,我发现数据库中没有任何唯一的键、索引、主键、自动递增字段等。。

因此,是否有任何方法可以通过脚本或SQL命令修复此问题?

1 个回复
最合适的回答,由SO网友:sMyles 整理而成

是,该问题是由于自动递增设置引起的。

所有WordPress DB的详细信息都可以在这里找到,其中包括使用自动增量的详细信息:https://codex.wordpress.org/Database_Description

这不是一项容易的任务,但这里有一些网站可以帮助您:https://www.photographerstechsupport.com/tutorials/fixing-wordpress-indexes-foreign-keys-and-auto_increment-fields/

这是特定于wp_options:https://guides.wp-bullet.com/fixing-wp_options-table-missing-unique-column-primary-key/

特别是自动增量:https://stackoverflow.com/questions/8923114/how-to-reset-auto-increment-in-mysql

您需要确保无论您将自动增量设置为什么,都要取ID+1 然后使用它。

基本上,这告诉DB下次插入新行时,在执行自动递增时要使用什么ID。

SO相关岗位:Wordpress Database lost auto increment

相关推荐

使用WordPress MultiSite(WPMS),每个创建的站点都有一个远程数据库

所以,我很想找到一种方法,为每个新添加的子站点使用具有不同远程数据库的WPM。我所知道的。我知道远程数据库可以位于其自己的服务器上,以允许远程站点连接使用DB用户的附加权限,并以%通配符的形式将IP绑定到DB或IP地址(如果您的服务器是网络的一部分)。请参见:https://www.digitalocean.com/community/tutorials/how-to-set-up-a-remote-database-to-optimize-site-performance-with-mysql或对我来说