我想更新狀態,但使用一個查詢!MySQL在一個查詢中結合了兩個UPDATE查詢
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')
我想更新狀態,但使用一個查詢!MySQL在一個查詢中結合了兩個UPDATE查詢
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);
謝謝:) 它的工作100% –
@TalalFarhat很高興爲您提供幫助。歡迎... – Sadikhasan
使 '狀態' 數據類型布爾,默認值0和 「name NOT IN ('a', 'b', 'c', 'd')
」
使用
UPDATE myTable SET `status` = 1 WHERE `name` NOT IN ('a', 'b', 'c', 'd');
你不必跑兩個查詢。
感謝您的回答,但狀態可以在更改後更改第一次插入.. –
@Talal如果在第一次如何進行狀態更新之後無法進行狀態更新,您是否正在使用UPDATE更新狀態?或者當你使用布爾狀態時你面臨問題? –
使用'情況when'聲明 –
[在一個MySQL查詢更新多行(可能的重複http://stackoverflow.com/questions/18802671/update-multiple-rows-in-a-single -mysql-query) –
試着用sql union或union在兩個查詢 – rohitr