2015-11-22 69 views
0

我希望能夠將大量的文本字符串添加到數據庫表的行中。將文本字符串添加到現有的mySQL表

例表如下所示:

描述d -id -name -tag

如果d.name有LIKE%文本%的附加 '標籤文本' 來d.tag。

但d.tag將有數據(文本),我想添加新的文本。

+0

提供用於創建表的SQL查詢,向其添加數據或進行的任何嘗試都將很有用。你的表格定義有點令人困惑。你是否查閱過MySQL UPDATE的文檔? –

回答

2

您可以使用函數CONCAT將文本追加到d.tag這樣的:

UPDATE description d 
SET d.tag = CONCAT(d.tag, 'Tag text') 
WHERE d.name LIKE '%text%'; 

編輯:解決方案的第一個註釋(但請明白爲什麼這個是解決問題的一個不錯的方法我的意見) :

UPDATE description d 
SET d.tag = CONCAT(d.tag, 'Tag text') 
WHERE d.name LIKE '%text%' and d.tag = ''; 
UPDATE description d 
SET d.tag = CONCAT(d.tag, ', Tag text') 
WHERE d.name LIKE '%text%' and d.tag != ''; 
+0

這工作很好!但是,假設我想在d.tag中用逗號(,)分隔多個值我試圖添加... CONCAT(d.tag,「,」,「Tag text」)...如果d.tag是空的,那麼數據將會是「,標籤文本」。可以跳過逗號(,)它d.tag是空的嗎? –

+0

首先,讓我說,這不是解決您的問題的好方法。您應該[標準化](https://en.wikipedia.org/wiki/Database_normalization)數據庫(請參閱示例並閱讀[第一範式](https://en.wikipedia.org/wiki/First_normal_form) )。在你的情況下,你應該添加一個帶'description_id'和'tagText'列的'tags'表。我編輯了我的答案以解決您的問題,但同樣,解決此問題的正確方法是對錶格進行規範化。 –

相關問題