2

有一个包含 2 列的 MySQL 数据库表:id、url

url 列的值类似于“http://www.example.com/”。

我需要在所有列值的开头添加一个字符串,例如 'http://www.x.com?redirect=' - 即更改如下值: http ://www.example.com/ == => http://www.x.com?redirect=http://www.example.com/

任何人都知道我该如何做到这一点?

我已经研究过使用 CONCAT(),但到目前为止我还不能让它工作:(

非常感谢你的帮助,路易莎

4

4 回答 4

7

使用 concat 它会是这样的:

update table set url=concat('http://www.x.com?redirect=',url);
于 2012-12-22T00:24:04.440 回答
6

是的,您可以使用CONCAT

SELECT CONCAT('http://www.x.com?redirect=', url) AS url
FROM yourtable

在线查看它:sqlfiddle

于 2012-12-22T00:23:42.940 回答
1

你可以这样做:

Update myTable
SET data= (SELECT CASE WHEN data IS NULL THEN '' ELSE data END AS data WHERE id = 1) + 'some text'
WHERE id = 1

当字段为空时,字段 = 字段 + 值不起作用。

于 2013-05-24T18:20:39.197 回答
0

看看这个 SO 答案中的代码片段:

update t set data=concat(data, 'a');

类似的东西应该起作用:

update t set data=concat('http://www.x.com?redirect=', data);

于 2012-12-22T00:26:56.793 回答