2016-02-26 74 views
3

如何在只有一次MySQL查詢中執行以下兩次更新?在一個MySQL查詢中進行兩次更新

$query = "UPDATE news SET main = 1 WHERE id = '$id'"; 
mysqli_query($this->db_conn, $query); 
$query = "UPDATE news SET main = 0 WHERE id <> '$id'"; 
mysqli_query($this->db_conn, $query); 

只有一行應設置爲1,而他們的休息應設置爲0

回答

3

試試這個:

UPDATE news SET main = CASE 
    WHEN id = '$id' THEN 1 
    ELSE 0 
END 
+0

謝謝!它完美的作品。現在的問題是我不知道如何。我必須爲MySQL學習更多的CASE句子。我不明白。 –

+0

@MarceloForclaz:https://dev.mysql.com/doc/refman/5.7/en/case.html –