我试图在数据库表中的多个字段中更改域名,但在语法上有点混乱。
我需要换一张叫做面包屑的桌子
和改变
表中每个条目中的http://oldurl.com到http://newurl.com。
当然,在域之后有一个完整的URL。
URL出现在两列中。
发布于 2014-12-14 14:04:46
UPDATE `breadcrumbs`
SET `column` = REPLACE(`column`, 'http://oldurl.com', 'http://newurl.com');对要替换字符串的每个column执行此操作。
请参阅字符串函数:替换()手册中的MySQL。
发布于 2014-12-14 14:03:59
一个简单的方法是使用两个更新:
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%';您也可以在一次更新中做到这一点:
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%';发布于 2014-12-14 14:04:29
UPDATE breadcrumbs
SET col1 = REPLACE(col1, 'http://oldurl.com', 'http://newurl.com'),
col2 = REPLACE(col2, 'http://oldurl.com', 'http://newurl.com')https://stackoverflow.com/questions/27470055
复制相似问题