mysql - 替换wp_postmeta的meta_value中与特定meta_key相关的URL

标签 mysql wordpress replace phpmyadmin

在wp_postmeta表中,我想替换meta_value字段中出现的URL(除了其他内容之外),但仅当某些meta_keys匹配时才替换。

这些条目的内容是链接图像。传出网址应更改,但图像的路径必须保持不变。

示例:

<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' 

如果有人可以提出查询来执行此操作,将会节省我大量的体力劳动。

非常感谢您的帮助。

谢谢

最佳答案

因此,经过进一步阅读和一些试验和错误后,我自己提出了 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 条件以仅在这些行中执行操作

关于mysql - 替换wp_postmeta的meta_value中与特定meta_key相关的URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40207052/

相关文章:

php - 在 ubuntu 12.04 上同时安装 mysql 和 mysqlnd

php - 在 WordPress 中比较密码总是返回 false

mysql - 迁移后将 WordPress 图像导入媒体库

python - 将特定值中的值替换为相应的值

sql - 在 SQL View 中用字符串替换 id

mysql - 如何在 MySQL 中合并 2 个表?

mysql - 从 MySQL 结果分配 BOOL

php - 查询错误得不到数字

MySQL查询缓存工作

html - 拆分标题 DIV 以允许在行内导航