Mysql 为什么使用内部联接的SQL删除查询不起作用?
我正在尝试执行这个SQL DELETE查询,它涉及一些内部连接。我只想从名为Market\u Commodity\u Price\u Series的主表中删除。我正在使用MySql 这是我的疑问:Mysql 为什么使用内部联接的SQL删除查询不起作用?,mysql,sql,database,sql-delete,rdbms,Mysql,Sql,Database,Sql Delete,Rdbms,我正在尝试执行这个SQL DELETE查询,它涉及一些内部连接。我只想从名为Market\u Commodity\u Price\u Series的主表中删除。我正在使用MySql 这是我的疑问: DELETE FROM Market_Commodity_Price_Series AS MCPS INNER JOIN MarketDetails_CommodityDetails AS MDCD ON MCPS.market_commodity_details_id = MDCD.id
DELETE
FROM Market_Commodity_Price_Series AS MCPS
INNER JOIN MarketDetails_CommodityDetails AS MDCD
ON MCPS.market_commodity_details_id = MDCD.id
INNER JOIN MarketDetails AS MD
ON MDCD.market_details_id = MD.id
WHERE MD.market_name = "Kimironko"
问题是,执行此查询时,我会获得以下错误消息:
42000您的SQL语法有错误;检查与您的MySQL服务器版本对应的手册,以了解要使用的正确语法
近“MCPS内部加入市场详细信息”\u商品详细信息,如MDCD上的
2号线MCPS市场公司
奇怪的是,这个查询的SELECT*版本工作得很好,我获得了我期望的记录
我想使用delete版本仅从from子句指定的主查询中删除这些记录
怎么了?我错过了什么?如何修复此错误?您需要指定要从哪个表中删除记录: 请注意删除后的表别名
DELETE MCPS
FROM Market_Commodity_Price_Series AS MCPS
INNER JOIN MarketDetails_CommodityDetails AS MDCD
ON MCPS.market_commodity_details_id = MDCD.id
INNER JOIN MarketDetails AS MD
ON MDCD.market_details_id = MD.id
WHERE MD.market_name = "Kimironko"