Est-il possible de nier une clause where?
par exemple
DELETE * FROM table WHERE id != 2;
Est-il possible de nier une clause where?
par exemple
DELETE * FROM table WHERE id != 2;
Tu peux faire comme ça
DELETE FROM table WHERE id NOT IN ( 2 )
OU
DELETE FROM table WHERE id <> 2
Comme @Frank Schmitt l'a noté, vous voudrez peut-être aussi faire attention aux valeurs NULL. Si vous souhaitez supprimer tout ce qui n'est pas 2
(y compris les valeurs NULL), ajoutez OR id IS NULL
à la clause WHERE.
Les autres affiches ont déjà répondu à votre question. J'aimerais simplement souligner que
delete from table where id <> 2
(ou leurs variantes, pas id = 2, etc.) ne supprimera pas les lignes où id est NULL.
Si vous souhaitez également supprimer des lignes avec id = NULL:
delete from table where id <> 2 or id is NULL
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.