MySQL删除查询

时间:2012-04-18 15:22:11

标签: mysql sql

我在使用MySQL查询时遇到了一些麻烦。我在一个名为“ID”的表中有一个字段,我想要一个删除该表中所有行的查询,除非它们有一个特定的ID,我希望能够在查询中定义多个ID。

有什么想法吗?

6 个答案:

答案 0 :(得分:3)

DELETE FROM your_table
WHERE id NOT IN (1,2,3)

答案 1 :(得分:2)

DELETE
FROM yourTable
WHERE yourID NOT IN (1,2,3,4) -- place your list here

或者您不想列出您的ID,您可以使用包含您要保留的ID列表的子查询:

DELETE
FROM yourTable
WHERE yourID NOT IN (SELECT * FROM yourTable WHERE ...)

答案 2 :(得分:1)

delete from your_table where id not in (1, 2, 4)

答案 3 :(得分:1)

您应该尝试此查询:

DELETE FROM tablename WHERE ID NOT IN ('1','2','3');

答案 4 :(得分:1)

这应该做的工作

delete from TABLE_NAME where id not in (1,2,3,4,5,6)
(1,2,3,4,5 ...)的

是您要保存的ID的列表。

答案 5 :(得分:1)

您还可以在一些额外条件下使用它:

    delete from your_table_name where id not in (select id from your_table_name where necessary=false)