MySQL,为所有列值添加一个字符串

时间:2012-12-22 00:22:06

标签: mysql concat

拥有一个包含2列的MySQL数据库表: id,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 个答案:

答案 0 :(得分:6)

是的,您可以使用CONCAT

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

查看在线工作:sqlfiddle

答案 1 :(得分:6)

使用concat就像这样:

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

答案 2 :(得分: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
当字段为空时,

field = field + value不起作用。

答案 3 :(得分:0)

查看this SO answer的代码段:

  

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

类似的东西应该有效:

  

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