【问题标题】:ERROR 1064 (42000) : You have an error in your SQL syntaxERROR 1064 (42000):您的 SQL 语法有错误
【发布时间】: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 的一部分;足以迷惑解析器。

标签: mysql mysql-error-1064


【解决方案1】:

group 是一个关键字[想想select sum(column) from sometable group by name]。您需要为您的表格命名。

一些 DBMS 允许您使用关键字作为表/列名,但它们需要转义。即在 MSSQL 中,您将使用 create table [group](...)

【讨论】:

  • mysql 的转义字符是反勾号:`
  • 谢谢你..我只是将它从组更改为 PARTY...它正在工作..thx :)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-02-16
  • 2021-05-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多