如何在MySQL中删除2列作为复合主键的多行?

Ana*_*Ban 36 mysql multiple-records composite-primary-key sql-delete

我的innodb表具有以下结构:4列(CountryID, Year, %Change, Source),以2列(CountryID, Year)为主键.除了使用for-loop删除每一行之外,如何删除多行?

我正在寻找类似的东西

DELETE FROM CPI 
 WHERE CountryID AND Year IN (('AD', 2010), ('AF', 2009), ('AG', 1992))
Run Code Online (Sandbox Code Playgroud)

Ben*_*Ben 40

Oracle的答案是:

delete from cpi
 where (countryid, year) in (('AD', 2010), ('AF', 2009), ('AG', 1992))
Run Code Online (Sandbox Code Playgroud)

它是相当标准的SQL语法,我认为MySQL是相同的.

  • 谢谢!在 MySQL 中也尝试过,它的效果就像一个魅力! (2认同)