为什么这个复杂的 delete SQL 查询不起作用?
Why this complex delete SQL query is not working?
我正在尝试执行 "complex" SQL 删除查询,但它不起作用。
这是我的查询:
DELETE
FROM Market_Commodity_Price_Series AS MC_PS
INNER JOIN MarketDetails_CommodityDetails AS MD_CD
ON MC_PS.market_commodity_details_id = MD_CD.id
INNER JOIN MarketDetails AS MD
ON MD_CD.market_details_id = MD.id
WHERE
MD.localization_id = 1
我只想从 Market_Commodity_Price_Series 中删除所有行,但要使用此 WHERE 条件。如您所见,where 条件使用了一些 JOIN 操作。
问题是执行此查询时我收到此错误消息:
#42000You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'AS MC_PS INNER JOIN MarketDetails_CommodityDetails AS MD_CD ON MC_PS.mar' at line 2
我该如何解决这个问题?也许将其用作子查询:
SELECT MC_PS.id
FROM Market_Commodity_Price_Series AS MC_PS
INNER JOIN MarketDetails_CommodityDetails AS MD_CD
ON MC_PS.market_commodity_details_id = MD_CD.id
INNER JOIN MarketDetails AS MD
ON MD_CD.market_details_id = MD.id
WHERE
MD.localization_id = 1
(使用ID)
但是如何呢?
你想删除MC_PS所以在删除"MC_PS"之后写它
DELETE MC_PS
FROM Market_Commodity_Price_Series AS MC_PS
INNER JOIN MarketDetails_CommodityDetails AS MD_CD
ON MC_PS.market_commodity_details_id = MD_CD.id
INNER JOIN MarketDetails AS MD
ON MD_CD.market_details_id = MD.id
WHERE
MD.localization_id = 1
我正在尝试执行 "complex" SQL 删除查询,但它不起作用。
这是我的查询:
DELETE
FROM Market_Commodity_Price_Series AS MC_PS
INNER JOIN MarketDetails_CommodityDetails AS MD_CD
ON MC_PS.market_commodity_details_id = MD_CD.id
INNER JOIN MarketDetails AS MD
ON MD_CD.market_details_id = MD.id
WHERE
MD.localization_id = 1
我只想从 Market_Commodity_Price_Series 中删除所有行,但要使用此 WHERE 条件。如您所见,where 条件使用了一些 JOIN 操作。
问题是执行此查询时我收到此错误消息:
#42000You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'AS MC_PS INNER JOIN MarketDetails_CommodityDetails AS MD_CD ON MC_PS.mar' at line 2
我该如何解决这个问题?也许将其用作子查询:
SELECT MC_PS.id
FROM Market_Commodity_Price_Series AS MC_PS
INNER JOIN MarketDetails_CommodityDetails AS MD_CD
ON MC_PS.market_commodity_details_id = MD_CD.id
INNER JOIN MarketDetails AS MD
ON MD_CD.market_details_id = MD.id
WHERE
MD.localization_id = 1
(使用ID)
但是如何呢?
你想删除MC_PS所以在删除"MC_PS"之后写它
DELETE MC_PS
FROM Market_Commodity_Price_Series AS MC_PS
INNER JOIN MarketDetails_CommodityDetails AS MD_CD
ON MC_PS.market_commodity_details_id = MD_CD.id
INNER JOIN MarketDetails AS MD
ON MD_CD.market_details_id = MD.id
WHERE
MD.localization_id = 1