我想更新状态,但使用一个查询!!
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')
答案 0 :(得分:6)
您可以使用 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);
答案 1 :(得分:0)
制作'状态'数据类型布尔值,默认值0 和" name NOT IN ('a', 'b', 'c', 'd')
"
使用
UPDATE myTable SET `status` = 1 WHERE `name` NOT IN ('a', 'b', 'c', 'd');
您不必运行两个查询。