mysql - MYSQL中CASE语句一次搜索多个字段值的条件

标签 mysql

UPDATE `Table1` SET `col3` = 
CASE `col1`
WHEN 'ABC' THEN '2'
WHEN 'BCD' THEN '3'
ELSE '0'
END 

在此,我是否可以有条件让 col1 和 col2 都设置 col3 的值,就像我有

      col1 = 'ABC' AND col2 = '123'

那我要设置

    col3 = 2 and col1 = 'ABC' AND col2 = '124' then set col3 = '4'

如何一次设置多个列值?假设这里如果我也有 col4 那么如何根据 col1 和 col2 值设置 col3 和 col4 值?

最佳答案

UPDATE Table1 SET col3 = 
CASE 
WHEN col1 = 'ABC' AND col2 = '123'
THEN '2'
ELSE '0'
END
,
col4 = 
WHEN col1 = 'ABC' AND col2 = '124'
THEN 'x'
ELSE '0'
END

更新多列以及when子句中的多个条件。

关于mysql - MYSQL中CASE语句一次搜索多个字段值的条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8075596/

相关文章:

用于游戏服务器的 C++ MySQL

mysql - 加入有条件的表

php - 这个使用准备好的语句的 mysqli 代码对 SQL 注入(inject)安全吗?

php - 异常 : Handshake Failed(Android-studio, 联机数据库)

php - 从不同数据库获取用户信息

php - 使用 mysqldump 将表数据导出到 csv 文件

php - 在 mySQL 中创建表,名称包括连字符、百分号、句号等

mysql - sql中外键表中的重复键

mysql - 验证另一个表中数据的唯一性

php - 使用串联 ID 在数据库字段上创建学说关联