1

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

有任何想法吗?

4

6 回答 6

3
DELETE FROM your_table
WHERE id NOT IN (1,2,3)
于 2012-04-18T15:23:23.053 回答
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 ...)
于 2012-04-18T15:24:13.317 回答
1
delete from your_table where id not in (1, 2, 4)
于 2012-04-18T15:23:26.773 回答
1

你应该试试这个查询:

DELETE FROM tablename WHERE ID NOT IN ('1','2','3');
于 2012-04-18T15:24:10.140 回答
1

这应该做的工作

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

of (1,2,3,4,5...) 是您要保存的 id 列表。

于 2012-04-18T15:25:33.963 回答
1

你也可以在一些额外的条件下使用它:

    delete from your_table_name where id not in (select id from your_table_name where necessary=false)
于 2012-04-18T15:32:03.247 回答