感谢您花时间检查我的代码。我有数百行需要更新,需要删除 URL 和链接的引用。我已经尝试了下面的代码以及转义双引号,但是它继续抛出错误而没有帮助。
感谢提供的任何帮助。
UPDATE `wpsr_posts` SET post_content = REPLACE(post_content,'<a href="https://www.website.com/category/page.html" >link description</a>',' ') WHERE post_content LIKE '%<a href="https://www.website.com/category/page.html" >link description</a>%'
抱歉,我提出的问题实际上并不包含我最终确定的问题。我确实希望这对将来的人有帮助。
UPDATE `wpsr_posts` SET `post_content` = REPLACE(`post_content`,'<a href="https://www.website.com./category/product/page.html">product & other info</a>', " ") where post_content LIKE '%https%' AND post_type='product'
原因是替换字符串末尾包含一个
&
分号,导致 MySQL 在此时结束查询。
解决方案是更改 mysql 分隔符,默认为 ;字符串中不会出现的内容,例如〜.
感谢您的指导 Bagus Tesa。
我有一个类似的问题,我的目标是替换部分 URL 字符串,但找不到正确的语法。
我假设 'post_content' 是仅替换帖子表字段内容的一部分的关键。 “长文本”字段中正文中的完整 URL 为: 约翰·巴里的电影、书籍和配乐
也许有人可以帮忙? 这是语法和 MySQL 响应,我试图将 “tag=MYTAG1” 替换为 “MYTAG2”:
UPDATE `node__body` SET `body_value` = REPLACE(`post_content`,'tag=MYTAG2') where post_content LIKE '%tag=MYTAG1%';
MySQL 说:文档
#1064 - 你的 SQL 语法有错误;检查与您的 MariaDB 服务器版本相对应的手册,了解要使用的正确语法 靠近 ') 其中 post_content LIKE '%tag=MYTAG1%'' 在第 1 行