我有以下嵌套的mysql synta,它给了我一个1064错误代码。
以下是查询。
SELECT m.member_id , m.username , m.email , g.permission
FROM members m
INNER JOIN members_groups q ON m.member_id = q.member_id
INNERJOIN groups g on q.group_id = g.group_id
WHERE username <> 'root' AND g.permission <
(SELECT g.permission FROM members m
INNER JOINmembers_groups q ON m.member_id = q.member_id
INNER JOIN groups g on q.group_id = g.group_id WHERE m.member_id = 13)
代码涉及三(3)个表。 会员表 | | members_groups表 | | 分组表
members_groups表包含members表和groups表的主键作为外键。
以下是mysql控制台的错误
#1064 - 您的SQL语法出错;查看与您的MySQL服务器版本对应的手册,以便在q.group_id = g.group_id WHERE username&lt;&gt;附近的&#39; INNERJOIN组附近使用正确的语法。 &#39;根&#39;和g.per&#39;在第1行
答案 0 :(得分:1)
在JOIN周围需要适当的空格:
SELECT m.member_id , m.username , m.email , g.permission
FROM members m INNER JOIN members_groups q ON m.member_id = q.member_id
INNER JOIN groups g on q.group_id = g.group_id
WHERE username <> 'root' AND g.permission <
(SELECT g.permission
FROM members m INNER JOIN members_groups q ON m.member_id = q.member_id
INNER JOIN groups g on q.group_id = g.group_id WHERE m.member_id = 13)
答案 1 :(得分:1)
这个错误有很多可能原因很多,但在你的情况下是它的错字
参考 - http://www.inmotionhosting.com/support/website/database-troubleshooting/error-1064
检查以下图片