首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >替换MySQL数据库中数据库字段中的字符串(URL)

问替换MySQL数据库中数据库字段中的字符串(URL)
EN

Stack Overflow用户
提问于 2014-12-14 13:59:40
回答 4查看 697关注 0票数 1

我试图在数据库表中的多个字段中更改域名,但在语法上有点混乱。

我需要换一张叫做面包屑的桌子

和改变

表中每个条目中的http://oldurl.com到http://newurl.com。

当然,在域之后有一个完整的URL。

URL出现在两列中。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2014-12-14 14:04:46

代码语言:javascript
复制
UPDATE `breadcrumbs`
SET `column` = REPLACE(`column`, 'http://oldurl.com', 'http://newurl.com');

对要替换字符串的每个column执行此操作。

请参阅字符串函数:替换()手册中的MySQL。

票数 3
EN

Stack Overflow用户

发布于 2014-12-14 14:03:59

一个简单的方法是使用两个更新:

代码语言:javascript
复制
update breadcrumbs
    set url1 = concat('http://newurl.com', substr(url1, 18))
    where url1 like 'http://oldurl.com%';

update breadcrumbs
    set url2 = concat('http://newurl.com', substr(url2, 18))
    where url2 like 'http://oldurl.com%';

您也可以在一次更新中做到这一点:

代码语言:javascript
复制
update breadcrumbs
    set url1 = (case when url1 like 'http://oldurl.com%'
                     then concat('http://newurl.com', substr(url1, 18))
                     else url1 end),
        url2 = (case when url2 like 'http://oldurl.com%'
                     then concat('http://newurl.com', substr(url2, 18))
                     else url2 end)            
    where url1 like 'http://oldurl.com%' or
          url2 like 'http://oldurl.com%';
票数 1
EN

Stack Overflow用户

发布于 2014-12-14 14:04:29

代码语言:javascript
复制
UPDATE breadcrumbs
SET col1 = REPLACE(col1, 'http://oldurl.com', 'http://newurl.com'),
    col2 = REPLACE(col2, 'http://oldurl.com', 'http://newurl.com')
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27470055

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档