2010-05-03 51 views
35

我需要將數據「添加」到已經包含數據的字段,而不擦除當前存在的數據。例如,如果該字段包含HTML,則需要向該字段添加其他HTML。是否有SQL調用會執行此操作,還是需要調用該字段中的數據,將新數據連接到現有數據並將其重新加載到數據庫中?將數據追加到已經有數據的MySQL數據庫字段

+0

幾乎重複的http://stackoverflow.com/questions/680801/how-to-prepend-a-string-to-a-column-value-in-mysql - 它是關於預先 – qdinar 2017-04-09 15:33:23

回答

71
UPDATE Table SET Field=CONCAT(Field,'your extra html'); 
+0

好一個真棒。 – 2014-03-27 13:11:45

11
UPDATE myTable SET html=concat(html,'<b>More HTML</b>') WHERE id='10' 

...例如。當然,你的地方會有所不同。

3

追加在一場結束時,用換行分隔:

UPDATE Table SET Comment = CONCAT_WS(CHAR(10 USING UTF8), Comment, 'my comment.'); 
  • CONCAT_WS()追加由給定的分離器分離多個字符串。
  • CHAR(10, UTF8)是換行符。
1

UPDATE Table SET Field=CONCAT(IFNULL(Field, ''), 'Your extra HTML')

如果該字段包含NULL值,那麼CONCAT也將返回NULL。使用IFNULL將幫助您更新列,即使它具有NULL值。