mysql - 根据单元格值更新 MySQL 中的列

标签 mysql sql

我想根据值更新 MySQL 表中的多个单元格。

我发现如果我选择一个名为 engagement 的字段,我可以像这样一次更新一个:

UPDATE billing_info_test 
SET Engagement='800000039768' 
WHERE Engagement IS NULL and LinkedAccountId = '12345678910'

但是,如果我尝试一次执行多个操作,它会失败并且出现错误:

UPDATE billing_info_test 
SET Engagement='800000039768' 
WHERE Engagement IS NULL and LinkedAccountId = '12345678910' 
AND SET Engagement='800000039768' 
WHERE Engagement IS NULL and LinkedAccountId = '3542123267612';

ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'SET Engagement='800000039768' WHERE Engagement IS NULL and LinkedAccountId = '30' at line 1

在这些语句之间使用 AND 是不正确的吗?我究竟做错了什么?

最佳答案

您可以使用 CASE 语句来完成:

UPDATE billing_info_test 
SET 
  Engagement = CASE 
    WHEN LinkedAccountId = '12345678910' THEN 'something'
    WHEN LinkedAccountId = '3542123267612' THEN 'somethingelse'
    WHEN LinkedAccountId IN ('354', '123', '000') THEN 'somethingelsetoo'
    ELSE 'default'
  END
WHERE Engagement IS NULL

关于mysql - 根据单元格值更新 MySQL 中的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56656933/

相关文章:

mysql - 如何将数据导入星型数据仓库。

mysql - 如何从文字列表中查询 : select * from ('a' , 'b' , 'c' )

mysql - 如何使用 mysqlimport 处理字符串字段中带逗号的 csv

mysql - 查询运行时间太长

sql - 测试所有行是否存在

PHP 和 MySQL - 如何计算每天的访问次数

php - JSON 错误 : Unterminated object on valid json text

mysql - SQL列出一首歌的多个艺术家

sql - 从左连接更新 Postgres

c# - 构建我的类(class)的正确方法