【问题标题】:MySQL Set all values of the column value to be 0 exept id 4MySQL将列值的所有值设置为0 exept id 4
【发布时间】:2020-07-10 14:59:01
【问题描述】:

我想将除 id 4 之外的列值的所有值设置为 0。是否可以在一个查询中执行此操作?

我想要这样的东西:

UPDATE table 
SET value = 0 
WHERE id != 4 and SET value = 1 WHERE id = 4

任何帮助将不胜感激。

【问题讨论】:

    标签: mysql sql sql-update


    【解决方案1】:

    将值设置为等于id = 4,这是一个布尔表达式,如果是true,则计算结果为1,如果是false,则计算结果为0

    UPDATE table SET value = (id = 4)
    

    【讨论】:

      【解决方案2】:

      使用case 表达式:

      update mytable
      set value = case id when 4 then 1 else 0 end
      

      【讨论】:

        【解决方案3】:

        您也可以使用 if 语句。如果 id = 4 为真,则设置值 = 1,否则设置值 = 0。希望这对您有所帮助。

        Update table set value = if(id=4, 1,0)
        

        【讨论】:

          【解决方案4】:

          UPDATE 表 SET (value = 0 WHERE id != 4 ),(value = 1 WHERE id = 4)

          【讨论】:

          • 至少您之前的(现在已删除的答案)包含有效的 sql 代码。您当前的代码在语法上是错误的。
          • 另外,无需删除答案并发布新答案。只需单击答案底部的编辑并进行所需的任何更改。
          • 欢迎来到 StackOverflow!要检查您的 SQL 代码,您可以尝试使用在线网站,例如:en.rakko.tools/tools/36(然后使用Edit 命令解决您的问题
          猜你喜欢
          • 1970-01-01
          • 2016-12-28
          • 2019-03-13
          • 1970-01-01
          • 1970-01-01
          • 2018-03-11
          • 2013-07-30
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多