mysql - 使用 word + id 列更新 SQL 值
问题描述
我有数据库表,我需要在其中更新行中的列
我需要用Position
+ id of row更新它
这是我尝试执行此操作的方法
UPDATE positions SET Name = 'Position'+Id WHERE Name IS NULL
但我得到这个错误
[22001][1292] 数据截断:截断不正确的 DOUBLE 值:“位置”
我该如何解决这个问题?
解决方案
大概,你想要一个字符串。+
运算符用于加法。字符串连接的标准 SQL 运算符是||
. 所以:
UPDATE positions
SET Name = 'Position' || Id
WHERE Name IS NULL;
并非所有数据库都支持这种语法。大多数要么支持||
要么CONCAT()
功能:
UPDATE positions
SET Name = CONCAT('Position', Id)
WHERE Name IS NULL;
通常,两者都||
将CONCAT()
非字符串值转换为字符串。
推荐阅读
- azure-devops - Nuget 还原任务耗时过长
- postgresql - 错误无法初始化 Kubernetes 集群
- java - 使用 Kinesis 客户端库 (KCL 2.x) 的多个使用者到 Kinesis Stream
- java - 将 nexus 与 maven-wrapper 和 docker 一起使用
- c# - 如何在 C# 中映射双 C 结构指针?
- flutter - Flutter App 未在 Windows 的 Android 模拟器中运行
- python - 我在通过 selenium python 抓取内容时遇到错误
- javascript - 如何将动态数据放入 A4 大小的 html 页面
- mongodb - MongoDB聚合:如何从数组中的对象返回对象属性
- c++ - 为什么 std::unique 不调用 std::sort?