mysql - 使用 SQL 从 WordPress 帖子中删除 HTML 失败且没有错误
问题描述
我正在尝试从所有 wordpress 帖子和页面中删除一串 HTML(但首先发布)
我有一个查询,在其中找到字符串存在的所有实例,它看起来像这样并且运行良好:
SELECT * FROM dmwbg_posts WHERE post_content
LIKE
'%<p>Stöd oss</p><p>Vårt arbete</p><p>Om MyRight</p><p>Jobb och praktik</p><p>Nyheter</p><p>Kontakta oss</p><p>Besöks- och postadress: MyRight Liljeholmen 7A 117 63<br /> Telefon: 08-505 776 00 | Epost: <a href="mailto:info@myright.se">info@myright.se</a> <span>| Org. nr 802402-9376</span></p><p><strong>Stöd MyRight med en gåva</strong><br /> Swish: 123 900 11 08<br /> <span>Plusgiro: 90 01 10-8</span></p><p>Besöks- och postadress: <br />MyRight Liljeholmen 7A, 117 63 Stockholm<br /> Telefon: 08-505 776 00<br /> Epost: <a href="mailto:info@myright.se">info@myright.se<br /> </a><span>Org. nr 802402-9376</span></p><p><strong>Stöd MyRight med en gåva</strong><br /> Swish: 123 900 11 08<br /> <span>Plusgiro: 90 01 10-8</span></p>%';
此查询返回 126 行,我只想删除特定字符串。并非所有行中的数据。
为此,我编写了以下查询:
UPDATE dmwbg_posts
SET
post_content = ''
WHERE
post_content = '%<p>Stöd oss</p><p>Vårt arbete</p><p>Om MyRight</p><p>Jobb och praktik</p><p>Nyheter</p><p>Kontakta oss</p><p>Besöks- och postadress: MyRight Liljeholmen 7A 117 63<br /> Telefon: 08-505 776 00 | Epost: <a href="mailto:info@myright.se">info@myright.se</a> <span>| Org. nr 802402-9376</span></p><p><strong>Stöd MyRight med en gåva</strong><br /> Swish: 123 900 11 08<br /> <span>Plusgiro: 90 01 10-8</span></p><p>Besöks- och postadress: <br />MyRight Liljeholmen 7A, 117 63 Stockholm<br /> Telefon: 08-505 776 00<br /> Epost: <a href="mailto:info@myright.se">info@myright.se<br /> </a><span>Org. nr 802402-9376</span></p><p><strong>Stöd MyRight med en gåva</strong><br /> Swish: 123 900 11 08<br /> <span>Plusgiro: 90 01 10-8</span></p>%';
此查询运行没有任何错误,但它不会替换任何数据。查询结果显示:
Query OK, 0 rows affected (0.02 sec)
Rows matched: 0 Changed: 0 Warnings: 0
运行我的 UPDATE 查询后运行我的 SELECT 查询显示相同数量的结果,并且数据仍然显示在 WordPress 网站上。我不确定我做错了什么。
我正在运行 MariaDB 版本 10.1.44-MariaDB-0ubuntu0.18.04.1
解决方案
在您的更新查询中,您使用的是%
通配符,=
它与LIKE
. 这就是它更新 0 条记录的原因。在您的情况下,您应该使用replace()
功能
update table_name set col_name=replace(col_name,'From_text', 'to_text') where condition
用你的价值观应该是这样的
update dmwbg_posts set post_content = replace(post_content, '<p>Stöd oss</p><p>Vårt arbete</p><p>Om MyRight</p><p>Jobb och praktik</p><p>Nyheter</p><p>Kontakta oss</p><p>Besöks- och postadress: MyRight Liljeholmen 7A 117 63<br /> Telefon: 08-505 776 00 | Epost: <a href="mailto:info@myright.se">info@myright.se</a> <span>| Org. nr 802402-9376</span></p><p><strong>Stöd MyRight med en gåva</strong><br /> Swish: 123 900 11 08<br /> <span>Plusgiro: 90 01 10-8</span></p><p>Besöks- och postadress: <br />MyRight Liljeholmen 7A, 117 63 Stockholm<br /> Telefon: 08-505 776 00<br /> Epost: <a href="mailto:info@myright.se">info@myright.se<br /> </a><span>Org. nr 802402-9376</span></p><p><strong>Stöd MyRight med en gåva</strong><br /> Swish: 123 900 11 08<br /> <span>Plusgiro: 90 01 10-8</span></p>', '')
WHERE post_content LIKE '%<p>Stöd oss</p><p>Vårt arbete</p><p>Om MyRight</p><p>Jobb och praktik</p><p>Nyheter</p><p>Kontakta oss</p><p>Besöks- och postadress: MyRight Liljeholmen 7A 117 63<br /> Telefon: 08-505 776 00 | Epost: <a href="mailto:info@myright.se">info@myright.se</a> <span>| Org. nr 802402-9376</span></p><p><strong>Stöd MyRight med en gåva</strong><br /> Swish: 123 900 11 08<br /> <span>Plusgiro: 90 01 10-8</span></p><p>Besöks- och postadress: <br />MyRight Liljeholmen 7A, 117 63 Stockholm<br /> Telefon: 08-505 776 00<br /> Epost: <a href="mailto:info@myright.se">info@myright.se<br /> </a><span>Org. nr 802402-9376</span></p><p><strong>Stöd MyRight med en gåva</strong><br /> Swish: 123 900 11 08<br /> <span>Plusgiro: 90 01 10-8</span></p>%';
推荐阅读
- shiny - 尝试将闪亮的应用程序数据 (csv) 写入桌面上的文件夹。闪亮警告:文件错误:无法打开连接
- c# - FOR EACH 与 FILE.MOVE 结合
- c++ - 基准模板编译
- java - SCR(ServiceMix)没有拾取OSGI组件?
- .htaccess - 服务器上缺少 htaccess 文件?
- apache-spark - Spark DataFrame 根据权重 col 值追加行 n 次
- unity3d - 如何使用统一从网络摄像头捕获视频?
- node.js - Socket.io 和 Express ERR_SSL_VERSION_OR_CIPHER_MISMATCH
- mysql - ASP.NET MVC 中是否有一种简单的方法可以对外部 MySQL 服务器进行 INSERT 查询?
- django - 你能写一个查询来根据修改Django中的外键在另一个表中查找一个值吗?