MySQL查询错误(SQL语法错误)
我试图在MySQL中执行下面的查询MySQL查询错误(SQL语法错误),mysql,Mysql,我试图在MySQL中执行下面的查询 DELETE FROM zc_products zcp WHERE zcp.products_id IN (SELECT DISTINCT p.products_id FROM zc_products p, zc_products_to_categories pc WHERE p.products_id = pc.products_id AND pc.categories_id IN (SELECT DISTINCT zcc.categories_id
DELETE FROM zc_products zcp
WHERE zcp.products_id IN (SELECT DISTINCT p.products_id FROM zc_products p, zc_products_to_categories pc WHERE
p.products_id = pc.products_id AND
pc.categories_id IN (SELECT DISTINCT zcc.categories_id FROM zc_categories zcc WHERE zcc.categories_status = 0))
下面是一个错误:
查询:从zc_products zcp中删除,其中选择zcp.products_id
将p.products_id作为pid与zc_products p、zc_products_to_ca区分开来
错误代码:1064您的SQL语法有错误;检查
与右侧的MariaDB服务器版本相对应的手册
在SELECT DISTINCT中使用near'zcp where zcp.products_id的语法
p、 生产线1的zc产品id为pid
我正在想方设法解决这个问题,但运气不好
请请求其他人在这方面帮助我。您的SQL语句中有一个意外的标识符。。。这是因为您不必要地使用别名zcp。使用现有的SQL,不需要在DELETE子句中为表别名
注
如果您使用像MySQL Workbench这样的工具,它将为您确定问题所在。。。允许您更轻松地进行故障排除。丢失zcp别名
DELETE FROM zc_products
WHERE products_id IN (SELECT DISTINCT p.products_id FROM zc_products p, zc_products_to_categories pc WHERE
p.products_id = pc.products_id AND
pc.categories_id IN (SELECT DISTINCT zcc.categories_id FROM zc_categories zcc WHERE zcc.categories_status = 0));