Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MySQL查询错误(SQL语法错误)_Mysql - Fatal编程技术网

MySQL查询错误(SQL语法错误)

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

我试图在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 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));