在wp_postmeta表中,我想替换meta_value字段中出现的URL(除了其他内容),但仅限于某些meta_keys匹配时。
这些条目的内容是链接图像。应该更改传出的URL,但图像的路径必须保持不变。
示例:
<a href="https://olddomain.com/?someparameters" target="_blank" >
<img src="https://olddomain.com/wp-content/..." />
</a>
应该成为:
<a href="https://newdomain.com/?someparameters" target="_blank" >
<img src="https://olddomain.com/wp-content/..." />
</a>
我的查询只获得那些行:
SELECT * FROM `wp_postmeta` WHERE `meta_key` LIKE 'sa_slide%_content'
如果有人建议进行查询,可以节省我数小时的体力劳动。
非常感谢您的帮助。
由于
答案 0 :(得分:0)
所以经过一些进一步的阅读和一些反复试验后,我自己想出了sql查询:
UPDATE wp_postmeta
SET meta_value = REPLACE (meta_value, 'href="https://olddomain.com/', 'href="https://newdomain.com/')
WHERE meta_value LIKE '%href="https://olddomain.com/%'
AND meta_key LIKE 'sa_slide%_content';
所以诀窍是只匹配带有href的字符串以仅定位传出链接并添加AND条件以仅执行那些行中的操作