Delete sur plusieurs id

Signaler
Messages postés
1
Date d'inscription
vendredi 19 juin 2020
Statut
Membre
Dernière intervention
19 juin 2020
-
Messages postés
3546
Date d'inscription
lundi 16 juillet 2007
Statut
Contributeur sécurité
Dernière intervention
1 juillet 2020
-
Bonjour

je connais la requete simple avec conditions sur une id mais quand il y a 10 id et que je veux en supprimer 2 ou plusieurs à la sute

Ex : 10 id avec un champ qui les caractérise qui va de 100 à 110

si je fais delete table users where code ='100' je supprime le 100 et les 101 à 110 restent présents

si je veux supprimer les 101 et 107 quelle est la requete en 1 seule commande ?
si je veux suprimer les 102 à 106 quelle est la requete en 1 seule commande ?

Merci d'avance
Bien à vous

1 réponse

Messages postés
28870
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
3 juillet 2020
2 590
Bonjour,

Pour les requêtes, tu peux ajouter plusieurs conditions avec du AND ou du OR

par exemple
delete table users 
where code =100 
OR code =101
OR code =102
OR code =103



delete table users 
where code >=100 
AND code <=103

Il existe le IN

par exemple
delete table users 
where code IN (100,101,102,103)


Cordialement,
Jordane
Messages postés
3546
Date d'inscription
lundi 16 juillet 2007
Statut
Contributeur sécurité
Dernière intervention
1 juillet 2020
1 266
(je refais le message, une erreur sur mon code SQL que je ne peux plus supprimer)

si je veux suprimer les 102 à 106 quelle est la requete en 1 seule commande ?


Pour supprimer un ensemble tu peux utiliser
BETWEEN
.
DELETE FROM users WHERE code BETWEEN 102 AND 106;

Mais je te déconseille de le faire, car une faute de frappe (10 au lieu de 102) peut avoir des conséquences dramatiques. Si tu veux le faire, je te conseille de faire d'abord un SELECT pour voir les données qui seront détruites.