DELETE TOP 语句的正确语法是什么?
What is the correct syntax for DELETE TOP statement?
我只想删除 table“trader_inventory”的 1 行,其中“item_id”是 14,“trader_id”是 1。
这是我试过的代码:
DELETE TOP 1
FROM trader_inventory
WHERE item_id = 14 AND trader_id = 1;
我也试过这个,看看它是否只适用于 1 个条件:
DELETE TOP 1
FROM trader_inventory
WHERE item_id = 14;
我也试过在“TOP (1)”处使用括号
SQL 说语法错误在 '1 FROM trader_inventory WHERE item_id = 14'
我无法解释为什么它不起作用。我现在正在尝试寻找 2 小时的解决方案。我希望有一个人可以帮助我。
我看到有些人在 [] 括号中写下他们的 table 名字,但这对我不起作用。 SQL 标记为错误。
在 MySQL 中,您将使用:
DELETE FROM trader_inventory
WHERE item_id = 14 AND trader_id = 1
LIMIT 1;
Here 是一个 db<>fiddle.
MySQL中没有SELECT TOP
。如果您使用的是 SQL 服务器(如使用 TOP
所建议的那样),则可以使用子查询(或 CTE):
DELETE ti
FROM (SELECT TOP (1) ti.*
FROM trader_inventory ti
WHERE item_id = 14 AND trader_id = 1
) ti;
注意:SELECT TOP
通常与 ORDER BY
一起使用,因此结果是一致的。这将删除任意行。如果你 运行 它在具有相同行的 table 上,则可以选择不同的行。
我只想删除 table“trader_inventory”的 1 行,其中“item_id”是 14,“trader_id”是 1。 这是我试过的代码:
DELETE TOP 1
FROM trader_inventory
WHERE item_id = 14 AND trader_id = 1;
我也试过这个,看看它是否只适用于 1 个条件:
DELETE TOP 1
FROM trader_inventory
WHERE item_id = 14;
我也试过在“TOP (1)”处使用括号
SQL 说语法错误在 '1 FROM trader_inventory WHERE item_id = 14'
我无法解释为什么它不起作用。我现在正在尝试寻找 2 小时的解决方案。我希望有一个人可以帮助我。 我看到有些人在 [] 括号中写下他们的 table 名字,但这对我不起作用。 SQL 标记为错误。
在 MySQL 中,您将使用:
DELETE FROM trader_inventory
WHERE item_id = 14 AND trader_id = 1
LIMIT 1;
Here 是一个 db<>fiddle.
MySQL中没有SELECT TOP
。如果您使用的是 SQL 服务器(如使用 TOP
所建议的那样),则可以使用子查询(或 CTE):
DELETE ti
FROM (SELECT TOP (1) ti.*
FROM trader_inventory ti
WHERE item_id = 14 AND trader_id = 1
) ti;
注意:SELECT TOP
通常与 ORDER BY
一起使用,因此结果是一致的。这将删除任意行。如果你 运行 它在具有相同行的 table 上,则可以选择不同的行。