要求:要批量把文章id where id >= 587606 and id <= 588755 之间的文章内容内 区间为 (
│├─ ******)的内容批量替换为(
AcontentB)。
例:在wordpress网站内,
批量替换 wp_posts 表中 post_content 字段里,在
│├─ ****** 区间内容为
AcontentB,且限定 ID 范围在 587606 到 588755:
1 2 3 4 5 6 7 8 9 10 11 |
UPDATE wp_posts SET post_content = REGEXP_REPLACE( post_content, '<br>│├─.*?<a name="downa">', '<br>AcontentB<a name="downa">', 1, 1, 'c' ) WHERE ID >= 587606 AND ID <= 588755 AND post_content REGEXP '<br>│├─.*?<a name="downa">'; |
说明:
REGEXP_REPLACE 是 MySQL 8.0+ 支持的函数,用于正则表达式替换。
正则模式 .*? 是非贪婪匹配,确保只替换到第一个 。
1, 1, ‘c’ 表示从第1个匹配开始替换,区分大小写。
WHERE 条件限定只替换 ID 范围内的文章。
请确认你的 MySQL 版本是否为 8.0 或更高。若你使用的是较旧版本(如 5.7),则无法使用 REGEXP_REPLACE,需改用应用层处理(如用 PHP)。