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)
  )
)

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

以上就是MySQL 查询错误:括号不匹配,如何解决?的详细内容,更多请关注其它相关文章!