mysql - 单个查询进行选择和更新

标签 mysql sql sql-update

当条件 = 1 时,col1 应设置为 1,对于所有条件 != 1,col1 的值应为 0。

SELECT col1, 
       col2 
  FROM table 
 WHERE condition1 = 1;

这可以在单个查询中完成吗? (而不是 1 次更新和 1 次选择)。

最佳答案

用途:

UPDATE YOUR_TABLE
   SET col1 = CASE
                WHEN condition = 1 THEN 1
                WHEN condition IS NULL THEN 0
                ELSE 0
              END

关于mysql - 单个查询进行选择和更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5069834/

相关文章:

sql - 使用 SQL CASE 语句但返回相同的列值

MySQL 更新脚本来计算条目数

mysql - 为什么 CONCAT 第一次没有向 mySQL 表中插入文本?

sql - 用一个值更新列的第一次出现,用其他值更新其余的

mysql - 为什么 count(column) 和 count(*) 返回相同的输出,即使记录中有 NULL 值?

javascript - 传递值将 Ajax 抛出到一个 php 文件

php - 如何显示mysql数据库中的图像?

sql - 如何在 Oracle SQL 数据库中查找相关行

sql - 在 Sql 中冒泡列

mysql - 记录查询在 mysql 中缺少索引