2014-10-27 47 views
0

以下查询给我phpmyadmin中的错误。它在语法上对我来说看起来是正确的,并且表/列名称相应地匹配。我尝试了一些变体(引用表名,使用等),但没有运气。MySQL加入错误

SELECT * 
FROM GROUP 
INNER JOIN GROUP_MEMBER ON GROUP.group_id = GROUP_MEMBER.group_id 
WHERE group_owner='test'; 

错误我越来越:

1064 - 你在你的SQL语法错误;检查与您的MySQL服务器版本相对应的手册,以找到正确的语法,以在'GROUP INNER JOIN GROUP_MEMBER ON GROUPLY GROUP_ID = GROUP_MEMBER.group_id WHERE'在第2行使用附近

+1

组是一个保留关键字。试试\'组\' – timgavin 2014-10-27 21:55:58

回答

0

“group”是一个sql关键字,如果你想用它作为表名,你需要用反引号包围它。

+0

啊,呵呵,不敢相信我错过了。谢谢! – Anwinity 2014-10-27 22:34:06

0

GROUP是SQL中的保留字,选择一个表名。如果你用反引号包围它,它可能会工作,但我真的建议更改表名。

SELECT * 
FROM `GROUP` 
INNER JOIN GROUP_MEMBER ON `GROUP`.group_id = GROUP_MEMBER.group_id 
WHERE group_owner='test'; 
0

这不是PHPMyAdmin-特定错误。您遇到的问题是使用匹配MySQL保留字的表名称GROUP。如果你坚持使用这样一个有问题的表名,你需要用反引号把它括在你可能使用它的任何地方。

SELECT * 
FROM `GROUP` 
INNER JOIN GROUP_MEMBER ON `GROUP`.group_id = GROUP_MEMBER.group_id 
WHERE group_owner='test';