mysql - 我想替换 sql 中的文本 | 匹配的行:1 更改:0
问题描述
我想“删除”我的 php 文件中的特定文本,但替换不起作用。
如您所见,我尝试了这些,但它返回的行匹配 1 更改了 0
UPDATE article set body=REPLACE(body,'<script type="text/javascript" src="https://eluxer.net/code?id=105&subid=51824_6967_"></script>','') where id=1494336;
我想从 id 是这个数字的正文中得到这个(我有 16 个 id 我必须删除这个,我尝试UPDATE article set body=REPLACE(body,'<script type="text/javascript" src="https://eluxer.net/code?id=105&subid=51824_6967_"></script>','') where id=1494336 and body like '%<script type="text/javascript" src=https://eluxer.net/code?id=105&subid=51824_6967_"></script>';
从所有 16 个文件中删除,但后来我收到:匹配行:0 更改:0
我希望你们能帮助我。
解决方案
“matched 1 changed 0”表示update article ... where id = 1494336
找到 1 行,但没有改变任何内容。
这是因为您replace
未能替换该行中的任何内容并返回未更改的字符串。<script type="text/javascript" src="https://eluxer.net/code?id=105&subid=51824_6967_"></script>
不能存在于第 1494336 行的主体中。请记住,replace
它必须是准确的。
您可以编写一个正则表达式并使用regexp_replace
. 我不能告诉你那可能是什么,因为我不知道你在寻找什么。但是,一般来说,尝试使用字符串匹配和正则表达式更改 HTML 是行不通的。
或者,由于只有 16 行需要编辑,您最好手动更改它们。MySQL Workbench之类的工具应该允许您编辑文本字段。
一般来说,在 SQL 中处理大型文档有很多问题。通常最好将它们保存为文件并存储文件的位置。然后你可以使用普通的文件工具来处理它们。
推荐阅读
- python - 如何在具有相同 ID 的行上应用条件
- flutter - 如何让我的系统将 webdev 识别为命令?
- r - 如何使用我的 KMS 密钥将数据直接写入 S3 存储桶?
- c++ - thread_local 与全局变量的初始化顺序
- sql-server - 逻辑应用程序 - 连接到本地 sql 服务器时:网关在指定时间段内未收到来自“Microsoft.Web”的响应
- javascript - 映射函数返回未定义
- flutter - 如何将 searchBar 放入 appBar - Flutter?
- performance - 避免在 Python 中的大型数据集上创建密集矩阵
- python - 带有 if 语句的 pd df 中的 Lambda 函数导致语法错误
- javascript - 如何修改这个 axios 对象,以便我可以在各种标题之间进行选择?