[Windows VPS] [已解决]求助个SQL命令(正则) 只看楼主

先备份数据库

https://52.ht/thread-844936-1-1.html
然后用我这个帖子里的数据库替换,第2个里面留空试试。
  • 12# siyi
  • 2021-7-5 11:36:56
引用: van 发表于 2021-7-5 11:29
你这个url是存在db里面的吗?

是啊,存在mysql里
wp_posts表的post_content字段里。
  • 13# siyi
  • 2021-7-5 11:38:47
引用: liuyangge 发表于 2021-7-5 11:31
不用正则,update + replace函数即可

不行的哦,因为图片大小不是固定的,所以后面不一定是-1920x1080,可能是800x1080,1200x1080,1920x300, 1920x1000 各种可能。
  • 14# siyi
  • 2021-7-5 11:40:58
引用: 落英缤纷 发表于 2021-7-5 11:32
先备份数据库

https://52.ht/thread-844936-1-1.html

这个不行哦
replace("字符串", "被替换内容","替换内容")
被替换内容怎么填,分辨率随机的呢。
引用: siyi 发表于 2021-7-5 11:27
有没有那种能喂到嘴里的那种?

懒得写
引用: siyi 发表于 2021-7-5 11:40
这个不行哦
replace("字符串", "被替换内容","替换内容")
被替换内容怎么填,分辨率随机的呢。 ...

那就替换多次啊  看看有几种分辨率
  • 17# siyi
  • 2021-7-5 11:50:46
引用: 落英缤纷 发表于 2021-7-5 11:48
那就替换多次啊  看看有几种分辨率

不是啊,有6万多张图片呢,什么分辨率的都有,不一定是标准尺寸的。
可能是1920 也可能是1919,1918 1921……
  • 18# pi9
  • 2021-7-5 11:53:07
好久没用WP了,随手给你写一个,表名和字段是按照我记忆来的。

update wp_posts set post_content = REGEXP_REPLACE(post_content, '\-[0-9]{3,5}x[0-9]{3,5}', '')  where 1;

执行前先备份一下这张表。
引用: siyi 发表于 2021-7-5 11:38
不行的哦,因为图片大小不是固定的,所以后面不一定是-1920x1080,可能是800x1080,1200x1080,1920x300,  ...

喔 没注意看题,如果尺寸少一些的话 多跑几次就好了,多的话  用其他语言跑一下就好了
  • 20# siyi
  • 2021-7-5 12:02:52
引用: pi9 发表于 2021-7-5 11:53
好久没用WP了,随手给你写一个,表名和字段是按照我记忆来的。

update wp_posts set post_content = REGEX ...

大佬,我的是mysql5.7 不是mysql8,没有regexp_replace怎么办
1234下一页