我在使用MySQL查询时遇到了一些麻烦。我在一个名为“ID”的表中有一个字段,我想要一个删除该表中所有行的查询,除非它们有一个特定的ID,我希望能够在查询中定义多个ID。
有什么想法吗?
答案 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)