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 回答