如果不以wp_开头但包含它,则在phpmyadmin中重命名表前缀

时间:2014-10-24 06:31:27

标签: database wordpress

我想重命名WordPress数据库的前缀。我知道这样做的方法是替换phpmyadmin表中的wp_前缀。

以wp_开头的字段很容易找到和替换。我是否需要更改其中包含_wp_的字段?例如:

我是否需要更换下面的wp_?

dismissed_wp_pointers

_wp_attached_file_wp_pointers


修改

请注意,除了替换“table”前缀之外,我还会更新表中的行。例如,在表wp_usermeta中,我必须替换几行,例如wp_capabilitieswp_usermeta表中有一行名为

dismissed_wp_pointers

我想在那里更换wp_吗?

3 个答案:

答案 0 :(得分:4)

前缀是指TABLE名称(例如wp_commentmeta),以及表中PREFIXED的键。

这对multiple blogs that share the same database非常有用。

详细了解Database Table Prefixes in the Codex

如果您要更改此前缀,则只需更新PREFIXED(即以wp_开头的表格中的表名和密钥。这些可能在Options和UserMeta表中。

答案 1 :(得分:0)

您需要更新以wp_开头的所有数据库表以使用新的前缀。此前缀应在wp-config.php中设置。您还需要更新meta_key表中的所有usermetaoption_name表中包含您之前前缀的表格options以使用新前缀。

更新PREFIX_options表option_name值

SELECT * 
FROM `PREFIX_options` 
WHERE `option_name` LIKE '%wp_%'

更新PREFIX_usermeta表meta_key值

SELECT * 
FROM `PREFIX_usermeta` 
WHERE `meta_key` 
LIKE '%wp_%'

请参阅one of my other answers,了解更新这些值的重要原因示例(在这种情况下为$wpdb->prefix . "capabilities"键)。

答案 2 :(得分:0)

您似乎应更改dismissed_update_core的名称。

在阅读了doublesharp的评论后,我搜索了Wordpress的代码,发现dismissed_update_core是硬编码的,例如wp_user_level。带有前缀的名称使用$wpdb->get_blog_prefix()(对于单个博客Wordpress网站返回base_prefix)或$wpdb->prefix可以在源代码中查找。

您会在dismissed_update_corewp-admin\includes\ajax-actions.php中找到硬编码的wp-admin\includes\class-wp-internal-pointers.php