我试图将一个字符串追加到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