web-dev-qa-db-ja.com

MySQLの複合主キーとして2列の複数の行を削除するにはどうすればよいですか?

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

私はに似たものを探しています

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

オラクルの答えは:

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

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

44
Ben