1
totoro52 2023-06-04 11:15:34 +08:00
REGEXP_REPLACE 函数, 这个是 mysql8 的新函数,低于 8 就不行
UPDATE 表名 SET body = REGEXP_REPLACE(body, 'https://www\.aaa\.com', 'https://www.bbb.com') WHERE body LIKE '%https://www.aaa.com%'; GPT 写的 SQL ,请自测,LIKE 也可以换为 REGEXP 函数 如果低于 8 ,你还是写代码解决吧,批量读出来替换在批量去更新 |
2
totoro52 2023-06-04 11:16:52 +08:00
GPT 写的这个正则应该是 hi 满足不来你这个需求,会把不是图片的也是替换,你改改加个标签上去即可。
|
5
rockeyhan 2023-06-04 12:46:40 +08:00
update 'table_name' set 'field_nam' = replace ('field_name','from_str','to_str');
几年前在 MySQL 5.* 上用过,可行。 |
6
Leon406 2023-06-04 12:52:03 +08:00
可以参考下, 之前我就是这么做的
UPDATE 表名 SET body = replace (body, 'https://www.aaa.com', '') Where body REGEXP('<img src="https://www.aaa.com" />') |
7
totoro52 2023-06-04 12:52:32 +08:00
@rockeyhan 那样不是图片的也会被替换了, 不过可以<img src="https://www.aaa.com 改<img src="https://www.bbb.com 这样子 也不是不行 曲线救国
|
8
rockeyhan 2023-06-04 12:59:57 +08:00
假设题主说的 body 是 table ,而 content 是 filed:
update body set content = replace(content,'<img src="https://www.aaa.com" />',''); 我觉得应该可行。 |
9
rockeyhan 2023-06-04 13:02:11 +08:00
|
10
python30 OP @rockeyhan
@totoro52 @Leon406 忘了说明一个情况了 就是图片有很多。而且 都是 https://www.bbb.com/xxx/xxx/xxx.jpg 样式式的,其中的 xxx 可能是数字或字符或组合这样的。不是固定的字符串。 |