首页 > 解决方案 > 使用 word + id 列更新 SQL 值

问题描述

我有数据库表,我需要在其中更新行中的列

我需要用Position+ id of row更新它

这是我尝试执行此操作的方法

UPDATE positions SET Name = 'Position'+Id WHERE Name IS NULL

但我得到这个错误

[22001][1292] 数据截断:截断不正确的 DOUBLE 值:“位置”

我该如何解决这个问题?

标签: mysqlsql

解决方案


大概,你想要一个字符串。+运算符用于加法。字符串连接的标准 SQL 运算符是||. 所以:

UPDATE positions
    SET Name = 'Position' || Id
    WHERE Name IS NULL;

并非所有数据库都支持这种语法。大多数要么支持||要么CONCAT()功能:

UPDATE positions
    SET Name = CONCAT('Position', Id)
    WHERE Name IS NULL;

通常,两者都||CONCAT()非字符串值转换为字符串。


推荐阅读