MySQL 查询错误:括号不匹配,如何解决?

MySQL 查询错误:括号不匹配,如何解决?

mysql查询错误:括号不匹配

你在执行mysql查询时遇到了一个错误,错误信息中提到括号不成对。让我们仔细检查一下你的查询:

select p.* from product as p, product_product_category as c where p.deleting = 0 and (   p.product_category_id in (1, 2)   or (     p.product_id = c.product_id     and c.product_category_id in (1, 2)   ) )
登录后复制
登录后复制

正如错误信息所提示,该查询中确实有括号不匹配的情况。仔细观察,你会发现左括号有 6 个,而右括号只有 5 个。这会导致mysql无法正确解析查询,并抛出错误。

要解决此错误,你需要确保括号成对出现。修改后的查询如下:

select p.* from product as p, product_product_category as c where p.deleting = 0 and (   p.product_category_id in (1, 2)   or (     p.product_id = c.product_id     and c.product_category_id in (1, 2)   ) )
登录后复制
登录后复制

在这种情况下,左右括号数目相同,查询应该能正常执行。

© 版权声明
THE END
喜欢就支持一下吧
点赞12 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容