44 votes

Comment supprimer plusieurs lignes avec 2 colonnes en tant que clé primaire composite dans MySQL ?

Ma table innodb a la structure suivante : 4 colonnes (CountryID, Year, %Change, Source) , avec les 2 colonnes (CountryID, Year) comme clé primaire. Comment supprimer plusieurs lignes sans utiliser une boucle for pour supprimer chaque ligne ?

je cherche quelque chose de similaire à

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

48voto

Ben Points 23834

La réponse dans Oracle est :

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

C'est une syntaxe SQL assez standard et je pense que MySQL est le même.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X