0

What's the MySQL syntax for deleting a certain number of rows, say, from id_1 to id_10, in the same table?

Also, if I wanted not to delete id_5, what syntax would I use?

Dan Sebastian
  • 519
  • 5
  • 19
  • 1
    Possible duplicate of [How to Delete range of records at once - mysql](http://stackoverflow.com/questions/7972435/how-to-delete-range-of-records-at-once-mysql) – Andy Hoffner Jan 25 '16 at 16:34

2 Answers2

1

for not delete id_5

delete from table where id != 'id_5' 

for delete a list

delete from table where id in ('id_1', 'id_2', 'id_3', 'id_4', 
       'id_6', 'id_7', 'id_8', 'id_9', 'id_10');

for delete an ordered range

delete from table where id between 'id_1' and 'id_10';

or combined

delete from table where id between 'id_1' and 'id_10' and id!='id_5';
ScaisEdge
  • 131,976
  • 10
  • 91
  • 107
1

To delete with the range and skip a value:

DELETE
FROM yourtable
WHERE id BETWEEN 1 AND 10 AND id !=5
Niagaradad
  • 453
  • 3
  • 10