如何在SQL中删除多行,其中id =(x到y)

bal*_*pps 70 sql sql-delete

我正在尝试运行SQL查询以删除表中id为163到265的行

我试过这个删除更少的行数

    DELETE FROM `table` WHERE id IN (264, 265)
Run Code Online (Sandbox Code Playgroud)

但是当一次删除100行时,是否有类似上述方法的查询我也试图使用这种查询但是无法执行它

    DELETE FROM `table` WHERE id IN (SELECT * FROM table WHERE id = )
Run Code Online (Sandbox Code Playgroud)

请告诉我执行上述操作的查询...

Bar*_*nka 154

如果您需要根据列表删除,您可以使用IN:

DELETE FROM your_table
WHERE id IN (value1, value2, ...);
Run Code Online (Sandbox Code Playgroud)

如果您需要根据查询结果删除,您还可以使用IN:

DELETE FROM your_table
WHERE id IN (select aColumn from ...);
Run Code Online (Sandbox Code Playgroud)

(请注意,子查询必须只返回一列)

如果您需要根据一系列值进行删除,请使用BETWEEN或使用不等式:

DELETE FROM your_table
WHERE id BETWEEN bottom_value AND top_value;
Run Code Online (Sandbox Code Playgroud)

要么

DELETE FROM your_table
WHERE id >= a_value AND id <= another_value;
Run Code Online (Sandbox Code Playgroud)

  • @baluzapps如果您觉得这个答案有用,请接受它;) (8认同)
  • 谢谢你!我已经使用 BETWEEN 并成功执行了我的要求。 (3认同)

lep*_*pie 17

你可以使用BETWEEN:

DELETE FROM table
where id between 163 and 265
Run Code Online (Sandbox Code Playgroud)


Kee*_*thi 6

Please try this:

DELETE FROM `table` WHERE id >=163 and id<= 265
Run Code Online (Sandbox Code Playgroud)