如何使用Mysql更新除特定列中的条目之外的所有条目

Que*_*ter 2 mysql

我有一个表,这个表包含多个列.我想知道如何更新除特定列中的条目之外的所有条目.我不想使用多个更新查询.

如果您对此有任何疑问,请与我分享.非常感谢您的帮助.

表结构

在此输入图像描述

查询(我自己尝试过,但我对此也感到困惑)

UPDATE `table` SET STATUS = 0;
UPDATE `table` SET STATUS = 1 WHERE id = 4;
Run Code Online (Sandbox Code Playgroud)

我的问题是如何在一个查询中组合这些查询

Ran*_*eed 11

要更新除一个之外的所有行:

UPDATE `table` SET STATUS = 0 WHERE id <> 4;
Run Code Online (Sandbox Code Playgroud)

如果你需要明确地设置行的状态id = 1,我建议你在第二个单独的查询中进行.

如果您真的想在一个查询中执行此操作:

UPDATE `table` SET STATUS = IF(id = 4, 1, 0);
Run Code Online (Sandbox Code Playgroud)

  • 更新表的每一行中的列本质上是一个性能问题. (2认同)