拥有一个包含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(),但到目前为止我还没能使它工作:(
非常感谢你的帮助, 路易莎
答案 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);