0

我正在将内容从另一个 CMS 迁移到 Wordpress。我的挑战是修复相关字段中包含的所有内部损坏的 URL,即“post_content”。

简而言之,我需要在来自旧 CMS 的损坏 URL 中搜索整数,并将它们替换为映射到正确 Wordpress 内容 ID 的新值。

我将旧值和新值映射为表“wp_postmeta”中的整数,其中“post_id”是新值,“meta_value”是旧值:

post_id | meta_key   | meta_value
13533   | content_id | 30
13534   | content_id | 3094 
13535   | content_id | 4066

这是迄今为止我编写的 SQL 查询,我觉得它非常接近 - 但我需要使用通配符搜索“meta_value”,否则它将无法正常工作。我不知道该怎么做,希望得到一些提示。

UPDATE wp_posts
INNER JOIN wp_postmeta ON wp_posts.ID = wp_postmeta.post_id
SET post_content = REPLACE(post_content, wp_postmeta.meta_value , wp_postmeta.post_id)
WHERE meta_key='content_id' 

在此先感谢 - 我是 SQL 新手,我花了一天时间才走到这一步!:-)

4

1 回答 1

0

你能有你的样本数据meta_key吗?我希望这有帮助

我假设你meta_keys从这样的事情开始3094

UPDATE wp_posts
INNER JOIN wp_postmeta ON wp_posts.ID = wp_postmeta.post_id
SET post_content = REPLACE(post_content, wp_postmeta.meta_value , wp_postmeta.post_id)
WHERE meta_key LIKE '30%' 

有关更多信息,请参阅此链接WILDCARDS

于 2013-05-30T02:49:15.147 回答