在SQL语句中截断不正确的DOUBLE值错误?

时间:2016-06-07 23:01:20

标签: mysql sql mysqli

我正在尝试将字符串附加到MySQL数据库中的现有记录中:

UPDATE `db`.`tbl` SET field1 = IFNULL(field1, '') + ',' + '12/15/16: $50' WHERE field2 = 'xyz'

2 个答案:

答案 0 :(得分:1)

在MySQL中,+正是它所暗示的:另外。大概是因为字符串没有被转换为数字(幸运的是 - 否则你会默默地得到错误的答案)。

所以,试试这个:

UPDATE `db`.`tbl`
    SET field1 = CONCAT(COALESCE(field1, ''), ',', '12/15/16: $50')
    WHERE field2 = 'xyz';

或者,如果field1NULL,则您不想使用逗号:

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