全球主机交流论坛

标题: 20厘米的进来,我问个MYSQL数据库的问题 [打印本页]

作者: uzz    时间: 2024-4-7 19:25
标题: 20厘米的进来,我问个MYSQL数据库的问题
现在数据库里PIC字段有这两种路径

http://XXXX.COM/upload/vod/
upload/vod

我现在 用
  1. UPDATE mac_vod SET vod_pic = REPLACE(vod_pic, 'upload', 'http://XX.com/upload') WHERE vod_pic LIKE '%upload%';
复制代码


会不会把http://XXXX.COM/upload/vod/这个也替换了,如何写才能只替换upload/vod这个的呢
作者: mmshow    时间: 2024-4-7 19:30
牛逼 哈哈 苹果cms电影系统
作者: chinni    时间: 2024-4-7 19:34
用 like 和 not like 限制下不就好了么
或者 like 前缀就好了呀
作者: butcock    时间: 2024-4-7 19:44
写好命令  模拟运行 测试一下  
作者: uzz    时间: 2024-4-7 19:45
chinni 发表于 2024-4-7 19:34
用 like 和 not like 限制下不就好了么
或者 like 前缀就好了呀
  1. UPDATE mac_vod SET vod_pic = REPLACE(vod_pic, 'upload', 'http://XX.com/upload') WHERE vod_pic NOT LIKE '%http%';
复制代码


这样是不是就不处理包含http字符的记录?
作者: feixiang    时间: 2024-4-7 19:47
uzz 发表于 2024-4-7 19:45
这样是不是就不处理包含http字符的记录?

是的
作者: BackDoor    时间: 2024-4-7 19:52
提示: 作者被禁止或删除 内容自动屏蔽
作者: karson    时间: 2024-4-7 19:52
如果都以upload开头,干脆把 `%upload%` 改成 `upload%` 不行吗
作者: uzz    时间: 2024-4-7 19:56
feixiang 发表于 2024-4-7 19:47
是的

多谢。
作者: uzz    时间: 2024-4-7 19:57
karson 发表于 2024-4-7 19:52
如果都以upload开头,干脆把 `%upload%` 改成 `upload%` 不行吗

这样就代表处理前面没有字符的对吗,有字符的就不处理?
作者: feixiang    时间: 2024-4-7 19:58
uzz 发表于 2024-4-7 19:56
多谢。

8楼效率更高。
作者: karson    时间: 2024-4-7 20:05
uzz 发表于 2024-4-7 19:57
这样就代表处理前面没有字符的对吗,有字符的就不处理?

对 %意思是通配符,最前面不带通配符就表示精确匹配开头(匹配upload开头)




欢迎光临 全球主机交流论坛 (https://loc.442266.xyz/) Powered by Discuz! X3.4