我正在尝试将字符串附加到MySQL数据库中的现有记录中:
UPDATE `db`.`tbl` SET field1 = IFNULL(field1, '') + ',' + '12/15/16: $50' WHERE field2 = 'xyz'
答案 0 :(得分:1)
在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';
答案 1 :(得分:0)
要附加到MySQL中,请使用concat not + eg
select concat('something', 'something_else');
返回 somethingsomething_else
你也可以使用concat_ws(带分隔符)
select concat_ws('@','something', 'something_else')
返回 东西@ something_else