2012-12-22 162 views
0

有2列的MySQL數據庫表: ID,網址MySQL中,添加一個字符串的所有列值

URL欄有一個像 'http://www.example.com/' 值。

我需要像「http://www.x.com?redirect=」添加一個字符串到所有的列值的開頭 - 即改變這樣的價值觀: http://www.example.com/ ===>http://www.x.com?redirect=http://www.example.com/

任何人都有一些線索,我怎麼能做到這一點?

我已經調查使用CONCAT(),但到目前爲止,我還沒有能夠使它工作:(你的幫助

非常感謝, 路易莎

+2

是否要永久添加所述前綴(即更新表的內容),還是隻將其添加到「SELECT」查詢的結果中?而且,這種處理不是更恰當的屬於您的應用程序的表示層嗎? – eggyal

回答

5

使用CONCAT這將是這樣的:

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

太棒了!簡單而簡單的解決方案非常感謝。 – Louisa

5

是的,你可以使用使用CONCAT

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

看到它聯機工作:sqlfiddle

0

看看代碼片段從this SO answer:類似

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

的東西應該工作:

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

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 

場=場+值時字段爲空不起作用。

相關問題