我試圖將一個字符串追加到MySQL數據庫中的現有記錄:在SQL語句上截斷不正確的DOUBLE值錯誤?
UPDATE `db`.`tbl` SET field1 = IFNULL(field1, '') + ',' + '12/15/16: $50' WHERE field2 = 'xyz'
我試圖將一個字符串追加到MySQL數據庫中的現有記錄:在SQL語句上截斷不正確的DOUBLE值錯誤?
UPDATE `db`.`tbl` SET field1 = IFNULL(field1, '') + ',' + '12/15/16: $50' WHERE field2 = 'xyz'
在MySQL中,+
正是它的含義:加法。你的算術錯誤大概是因爲字符串沒有轉換成數字(幸運的是 - 否則你會默默得到錯誤的答案)。
所以,試試這個:
UPDATE `db`.`tbl`
SET field1 = CONCAT(COALESCE(field1, ''), ',', '12/15/16: $50')
WHERE field2 = 'xyz';
或者,如果你不希望逗號如果field1
是NULL
:
UPDATE `db`.`tbl`
SET field1 = CONCAT(COALESCE(CONCAT(field1, ','), ''), '12/15/16: $50')
WHERE field2 = 'xyz';
在MySQL中添加,使用CONCAT不+例如
select concat('something', 'something_else');
回報 somethingsomething_else
你也可以使用concat_ws(帶分隔符)
select concat_ws('@','something', 'something_else')
返回 something @ something_else