我正在将内容从其他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的新手,我花了一天时间才能做到这一点! : - )
答案 0 :(得分: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