【发布时间】:2011-08-19 16:51:42
【问题描述】:
我正在运行以下 SQL:
create table group(groupID varchar(15) primary key,
group_name varchar(30),
name_of_member varchar(100),
studentID varchar(15),
foreign key(studentID) references student(studentID))engine=innodb;
但它不起作用。我收到了错误:
ERROR 1064 (42000) : 你有一个错误 在你的 SQL 语法中......附近 group(groupID varchar(15) 主键, group_name varchar(30),name_of_member va' 在第 1 行
请帮助我... :(
【问题讨论】:
-
正如@Nathan 在他的回答中所说,除非您想要很多麻烦,否则不要使用保留字作为表名或列名。研究 MySQL 保留字列表,然后重命名表/列以避免命名为 GROUP、SELECT、DELETE 等。并且请在以后的问题中格式化代码 - 突出显示代码并按 Ctrl+K,或单击带有
{}图像的按钮,或将每行代码缩进 4 个空格。它使阅读和理解变得更加容易。 -
@KenWhite 我遇到了同样的错误,但通过参考给定的答案解决了它。 “订单”是 MySql 中的一个关键字,因为当我将表名从订单更改为订单时,查询执行时没有任何错误。据我所知,“order by”是一个关键字
-
@ShantanuNandan:ORDER 是一个关键字,因为它是 ORDER BY 的一部分;足以迷惑解析器。