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

标签 mysql sql

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

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';

或者,如果您不希望在 field1NULL 时使用逗号:

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

关于mysql - SQL 语句中截断不正确的 DOUBLE 值错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37690779/

相关文章:

PHP 数据库链接不起作用

php - 避免\r\n\on mysql 导入

mysql - 获得最高分并在您之后的下一个和上一个得分 3

sql - 基于变量组合的标志

c# - 使用来自两个数据库的自动增量ID连接来自两个表的数据

c# - (当用户输入数据时mySQL行锁c#

sql - 如何将mysql查询转换为oracle(对3个表使用UPDATE和INNER JOIN 2次)

mysql - 查询以检索总和大于其余列的前 2 列

PHP POST 通过 AJAX 循环通过 javascript 发送对象文字

mysql - 在 where 子句中使用子查询结果