2011-03-25 39 views
2

我有一個表,我需要兩列刪除行,例如刪除行

+------+------+--------+ 
| col1 | col2 | other | 
+------+------+--------+ 
| 12 | 2 | test | 
+------+------+--------+ 
| 14 | 2 | test1 | 
+------+------+--------+ 
| 12 | 3 | test2 | 
+------+------+--------+ 
| 13 | 3 | test3 | 
+------+------+--------+ 
| 15 | 4 | test4 | 
+------+------+--------+ 

,我想刪除的行數(COL1,COL2) (12,2),(13,3),(14,2)

可以通過純SQL執行此操作嗎?

+0

您正在使用的數據庫管理器? – MacGucky 2011-03-25 18:42:28

+0

@macgucky:SQLite – RYN 2011-03-25 18:44:12

回答

4

如果你有很多的值,填充表與他們做:

DELETE t 
FROM Table t 
INNER JOIN TempTable tt 
ON t.col1 = tt.col1 
AND t.col2 = tt.col2 
1

試試下面的SQL:

delete from <tablename> 
where (col1 = 12 and col2 = 2) 
    or (col1 = 13 and col2 = 3) 
    or (col1 = 14 and col2 = 2) 
+0

嗨,我有很多對必須刪除,我希望能夠使用像「IN」語句。沒有其他方案? – RYN 2011-03-25 18:41:14

+0

參見例如解決方案由JNK提供。 – Howard 2011-03-25 18:48:20