2011-04-01 38 views
6

我無法編寫查詢。可以說我有滿滿一桌子汽車品牌和型號,但我想擺脫所有不與車型列表相關聯行的,我寫這個的......Mysql刪除所有行(其中col!= this或col!= that或col!= otherthing)

DELETE FROM `cars` WHERE 
`make` != 'Ford' OR 
`make` != 'Toyota' OR 
`make` != 'Cadillac' 

然而,它是去除所有的行。我怎麼寫這個,以便讓我保留福特,豐田和卡迪拉克,但刪除龐蒂亞克,達特森和雷諾?

謝謝你對此的幫助!

+1

你的邏輯是不合邏輯的 – 2011-04-01 19:11:31

回答

11
更容易

閱讀:

DELETE FROM `cars` WHERE `make` NOT IN ('Ford', 'Toyota', 'Cadillac') 
+0

+1肯定是另一個不錯的選擇 – 2011-04-01 19:39:10

4
DELETE FROM cars 
WHERE make <> 'Ford' 
AND make <> 'Toyota' 
AND make <> 'Cadillac' 

您的查詢刪除所有行,因爲:

  1. 您首先刪除了未福特(只剩下福特)
  2. 你然後刪除那些不豐田所有行的所有行(葉無)
+1

是的,那是有效的。謝謝。並且謝謝。 – superUntitled 2011-04-01 19:15:08

相關問題