46

私のinnodbテーブルの構造は次のとおりです。4列、主キーとして(CountryID, Year, %Change, Source)2列。(CountryID, Year)forループを使用して各行を削除する以外に、複数の行を削除するにはどうすればよいですか?

似たようなものを探しています

DELETE FROM CPI 
 WHERE CountryID AND Year IN (('AD', 2010), ('AF', 2009), ('AG', 1992))
4

1 に答える 1

51

Oracleの答えは次のとおりです。

delete from cpi
 where (countryid, year) in (('AD', 2010), ('AF', 2009), ('AG', 1992))

これはかなり標準的なSQL構文であり、MySQLも同じだと思います。

于 2011-12-04T13:18:21.963 に答える