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