【问题标题】:MySQL "simple" error understandingMySQL“简单”的错误理解
【发布时间】:2018-06-05 14:49:45
【问题描述】:

我有一个非常简单的要求:

SELECT * FROM players;

有效并显示“玩家”列表。 现在,如果我在名为“groups”的表上执行完全相同的请求,则会出现语法错误

SELECT * FROM groups;

错误代码:1064。您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 1 行 0.000 秒的“组”附近使用正确的语法

如果我这样做:

SELECT * FROM mydb.groups;

有效 如果我这样做:

SELECT * FROM `groups`;

它也有效。

【问题讨论】:

  • 这个查询是在 MySQL 客户端(例如 phpMyAdmin)还是在网页脚本中运行?
  • 你是在一个过程中运行它吗?如果是这样,您是否有一个名为 groups 的参数,该过程将其作为输入?如果是这种情况,那么这就是 groups 适合您的原因。
  • 我在mysql工作台上运行。
  • groups 是一个受保护的关键字...从 8.0 版本开始,所以你必须嵌入它。

标签: mysql syntax


【解决方案1】:

GROUPS 是保留关键字(GROUPS(R) 是在 8.0.2 (reserved) 中添加的):

https://dev.mysql.com/doc/refman/8.0/en/keywords.html#keywords-8-0-detailed-G

【讨论】:

    【解决方案2】:

    错误代码:1064。您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 1 行 0.000 秒的“组”附近使用正确的语法

    MySQL DocumentationGROUPGROUPS 列为保留关键字,因此您的查询失败。

    【讨论】:

      猜你喜欢
      • 2023-03-13
      • 2015-02-03
      • 2014-07-03
      • 2013-11-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-06-10
      • 1970-01-01
      相关资源
      最近更新 更多