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

如何在id=(x到y)的SQL中删除多行,sql,sql-delete,Sql,Sql Delete,我试图运行SQL查询来删除表中id为163到265的行 我尝试这样做是为了减少行数 DELETE FROM `table` WHERE id IN (264, 265) 但当一次删除100行时,是否有类似于上述方法的查询 我也尝试使用这种查询,但执行失败 DELETE FROM `table` WHERE id IN (SELECT * FROM table WHERE id = ) 请告诉我执行上述操作的查询…您可以在之间使用: DELETE FROM table wher

我试图运行SQL查询来删除表中id为163到265的行

我尝试这样做是为了减少行数

    DELETE FROM `table` WHERE id IN (264, 265)
但当一次删除100行时,是否有类似于上述方法的查询 我也尝试使用这种查询,但执行失败

    DELETE FROM `table` WHERE id IN (SELECT * FROM table WHERE id = )

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

您可以在
之间使用

DELETE FROM table
where id between 163 and 265

如果需要根据列表进行删除,可以使用
中的

DELETE FROM your_table
WHERE id IN (value1, value2, ...);
DELETE FROM your_table
WHERE id IN (select aColumn from ...);

如果需要根据查询结果进行删除,也可以使用
中的

DELETE FROM your_table
WHERE id IN (value1, value2, ...);
DELETE FROM your_table
WHERE id IN (select aColumn from ...);
(请注意,子查询只能返回一列)


如果需要基于一系列值进行删除,可以使用
BETWEEN
或使用不等式:

DELETE FROM your_table
WHERE id BETWEEN bottom_value AND top_value;

从您的_表中删除
其中id>=a_值和id
获取字符串值删除

<RecordList>
    <ID>1</ID>
    <ID>2</ID>
</RecordList>

1.
2.
请尝试以下操作:

DELETE FROM `table` WHERE id >=163 and id<= 265

从'table'中删除,其中id>=163和id谢谢!我已成功地将BETWEEN和它执行到我的要求中。@baluzapps如果您觉得这个答案有用,请接受它;)一个与此相关的问题:如果我有复合密钥怎么办?@Mayubeldar:如果你有一个新问题,将其作为一个问题发布,而不是作为注释发布。此问题的可能重复项不是上述内容的重复项……另一个与连续项范围内的删除有关,此问题指的是删除可能的非连续id,ID列表..请突出显示代码并按Ctrl+KI设置代码格式。不要认为这是
delete
语句的正确语法
Delete Id from table where Id in (select id from table)