我有一个带复选框的html表。允许用户从该html表中删除行,除了一个特定的行,其值在数据库中是硬编码的。
如果用户意外地检查它,我想要我的服务器代码(php)或者更好的MySqL为他们检查的所有行运行删除查询,除了该特定行。所以,这样的事情(这是错误的):
DELETE FROM table_name
WHERE row_id = some_value
EXCEPT row_id = some_value;
非常感谢!
答案 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)