J'essaie d'exécuter une requête SQL pour supprimer des lignes dont l'identifiant est compris entre 163 et 265 dans un tableau.
J'ai essayé de supprimer moins de lignes
DELETE FROM `table` WHERE id IN (264, 265)
Mais lorsqu'il s'agit de supprimer des centaines de lignes à la fois, existe-t-il une requête similaire à la méthode ci-dessus? J'essaie également d'utiliser ce type de requête mais je n'ai pas réussi à l'exécuter.
DELETE FROM `table` WHERE id IN (SELECT * FROM table WHERE id = )
S'il vous plaît dites-moi la requête pour faire l'action ci-dessus ...
Si vous devez supprimer en fonction d'une liste, vous pouvez utiliser IN
:
delete from your_table
where id in (value1, value2, ...);
Si vous devez supprimer en fonction du résultat d'une requête, vous pouvez également utiliser IN
:
delete from your_table
where id in (select aColumn from ...);
(Notez que la sous-requête ne doit renvoyer qu'une colonne)
Si vous devez supprimer en fonction d'une plage de valeurs, utilisez soit BETWEEN
, soit vous utilisez des inégalités:
delete from your_table
where id between bottom_value and top_value;
ou
delete from your_table
where id >= a_value and id <= another_value;
Vous pouvez utiliser BETWEEN
:
DELETE FROM table
where id between 163 and 265
S'il vous plaît essayez ceci:
DELETE FROM `table` WHERE id >=163 and id<= 265
Delete Id from table where Id in (select id from table)