根据查询输出删除记录



我有一个表,THEKITCHEN,带有一个查询:

SELECT FOOD, COUNT(FOOD) 
FROM THEKITCHEN 
GROUP BY FOOD

这返回一个输出:

FOIEGRAS    1
APPLEPIE    1
SORBET      1
FILETMIGNON 1
BRANZINO    5
TRUFFLES    2
ESCARGO     1
POULET      2

我接下来要做的是使用以下方法删除项目:

DELETE FROM THEKITCHEN 
WHERE FOOD IN ('FOIEGRAS')

现在可以了,但有时我需要删除该列中的所有项目/记录。并且运行DELETE语句15-40次会变得很烦人。

是否可以将初始查询的输出获取到一个变量中,然后对该变量使用DELETE语句来删除所有项?我试过

UPDATE THEKITCHEN 
SET FOOD = NULL;

但我的表不允许Null。

谢谢!


更新:THEKITCHEN有其他列,我不想从中删除记录。所以TRUNCATE餐桌厨房会失去很多重要的东西。


更新:是的,TRUNCATE TABLE THEKITCHEN是一条路!

如果你想删除所有的食物,你根本不需要条件,只需要使用delete from thekitchen。此外,您可以使用DDL语句truncate table thekitchen,这将更快。

最新更新