简体   繁体   English

MySQL在一个Query中组合了两个UPDATE查询

[英]MySQL combine two UPDATE Queries in one Query

I want to update status, but using one query !! 我想更新状态,但使用一个查询!

UPDATE myTable SET `status` = 0 WHERE `name` IN ('a', 'b', 'c', 'd')
UPDATE myTable SET `status` = 1 WHERE `name` NOT IN ('a', 'b', 'c', 'd')

You can use CASE statement. 您可以使用CASE语句。

UPDATE myTable
SET status = (CASE
                  WHEN `name` IN ('a','b','c','d') THEN '0'
                  WHEN `name` NOT IN ('a','b','c','d') THEN '1'
              END);

Make 'status' datatype boolean , default value 0 and for " name NOT IN ('a', 'b', 'c', 'd') " 使'status'数据类型为boolean默认值为0 ,对于“ name NOT IN ('a', 'b', 'c', 'd')

use 使用

UPDATE myTable SET `status` = 1 WHERE `name` NOT IN ('a', 'b', 'c', 'd');

You do not have to run two queries. 您不必运行两个查询。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM