全球主机交流论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

CeraNetworks网络延迟测速工具IP归属甄别会员请立即修改密码
查看: 2637|回复: 30

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

[复制链接]
发表于 2021-7-5 11:00:06 | 显示全部楼层 |阅读模式
本帖最后由 siyi 于 2021-7-5 12:49 编辑

已经顺利解决,感谢18楼 pi9 大佬的指导。已经顺利解决了。
也感谢各位MJJ集思广益,提供了很多的方法。





需求:

由于突发奇想把WordPress自动生成的缩略图片都删除了,只保留原图,现在网站很多文章显示错误。想要通过SQL命令修复一下。

目前文章的图片是:https://example.com/wp-content/uploads/2021/07/73194819431-1920x1080.png,由于缩略图已经删除,所以得改成https://example.com/wp-content/uploads/2021/07/73194819431.png才能访问。
也就是需要删除"-1920x1080", 文件名随机,缩略图尺寸随机,文件名后缀随机。
估计需要用到正则,不过我完全不会。

50元请大佬帮帮忙,经费有限,先到先得。万分感谢!
发表于 2021-7-5 11:31:14 | 显示全部楼层
不用正则,update + replace函数即可

  1. update 表名 set 字段名 = replace(字段名,"-1920x1080","") where id = 1
复制代码


可以先改下id测试一下看看,没问题把where条件删掉,全部跑一遍就ok了
发表于 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;

执行前先备份一下这张表。
 楼主| 发表于 2021-7-5 11:05:30 | 显示全部楼层
唐王李世民 发表于 2021-7-5 11:03
为什么要随机?

这个可能需要遍历,然后删除-1920x1080

表达不清哈,意思就是要删除-1920x1080之类的。因为图片大小不一样,所以产生的缩略图尺寸也是随机的呀。
可能是-1024x768或者-300x200, 不一定。
发表于 2021-7-5 11:03:53 | 显示全部楼层
为什么要随机?

这个可能需要遍历,然后删除-1920x1080

sql不懂
发表于 2021-7-5 11:05:10 | 显示全部楼层
你家一包烟50
 楼主| 发表于 2021-7-5 11:06:34 | 显示全部楼层

我不抽烟……
反正看别人抽的烟大概这个价格?
发表于 2021-7-5 11:08:37 | 显示全部楼层
siyi 发表于 2021-7-5 11:06
我不抽烟……
反正看别人抽的烟大概这个价格?

有钱人像我们这种穷人连十块的都抽不起
发表于 2021-7-5 11:09:45 | 显示全部楼层
这边建议php遍历然后替换
截取-到.png之间的字符然后前面拼接上- replace一下就行了
 楼主| 发表于 2021-7-5 11:27:12 | 显示全部楼层
airline 发表于 2021-7-5 11:09
这边建议php遍历然后替换
截取-到.png之间的字符然后前面拼接上- replace一下就行了 ...

有没有那种能喂到嘴里的那种?
发表于 2021-7-5 11:29:34 来自手机 | 显示全部楼层
你这个url是存在db里面的吗?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|全球主机交流论坛

GMT+8, 2024-4-27 18:54 , Processed in 0.185418 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表