MySql:如何从表中删除行除了具有特定ID的行

时间:2015-05-28 21:45:00

标签: php mysql

我有一个带复选框的html表。允许用户从该html表中删除行,除了一个特定的行,其值在数据库中是硬编码的。

如果用户意外地检查它,我想要我的服务器代码(php)或者更好的MySqL为他们检查的所有行运行删除查询,除了该特定行。所以,这样的事情(这是错误的):

DELETE FROM table_name
WHERE row_id = some_value
EXCEPT row_id = some_value; 

非常感谢!

3 个答案:

答案 0 :(得分:3)

我认为你想要的逻辑是AND

DELETE FROM table_name
WHERE row_id = some_value AND row_id <> some_value; 

当然,some_value大部分时间都应该不同。

答案 1 :(得分:1)

DELETE FROM table_name WHERE row_id NOT IN(do_not_delete_this_value);

do_not_delete_this_value将是您不想删除的行的ID,其余所有记录都将被删除。

答案 2 :(得分:0)

实际上有两种方法可以执行此操作,要删除除一个特定ID之外的所有行,请在SQL查询中键入以下命令:

在括号之间,输入要保留的ID号。

DELETE FROM `table_name` WHERE `ID` NOT IN (1)

此外,要删除除某些ID之外的所有记录,请使用以下命令:

DELETE FROM `table_name` WHERE `ID` NOT IN (1,2,6,10)