【问题标题】:How can I fix this issue with my simple query with ORDER BY and LIMIT?如何使用 ORDER BY 和 LIMIT 的简单查询来解决此问题?
【发布时间】:2019-06-05 11:14:34
【问题描述】:

我在 windows cmd 上运行 MySQL,我输入的命令是

SELECT name,rank,year FROM movies ORDER BY year DESC LIMIT 10;

我收到语法错误:

您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 1 行的 ' ,year from movies order by year DESC limit 10' 附近使用正确的语法

预期结果:

按降序排列年份,行数限制为10;

【问题讨论】:

  • 你能发布完整的错误信息吗?
  • 您应该始终在问题中提及您所使用的 mysql 版本,因为开发人员总是在“增强”产品,而早期版本中可能没问题的东西可能在以后的版本中就不行了。
  • 我使用的是最新版本的 MySQL 8.0.16

标签: mysql cmd error-handling


【解决方案1】:

year 是关键字。您能否通过在列名周围添加`(反勾号)来转义关键字以解决问题:

SELECT name, `rank`, `year` FROM movies ORDER BY `year` DESC LIMIT 10;

【讨论】:

  • 更可能的排名取决于使用的 mysql 版本。在 8.0.2 中添加(保留)
  • @P.Salmon 年份是问题,为了安全起见,我也添加了排名。
  • 年份是关键字而不是保留字注意保留字在您发布的链接中后面有 (R)。
  • @P.Salmon 已在答案中更正
  • 不,你不应该使用单引号',你必须使用反勾号`,或者干脆复制粘贴我的代码
猜你喜欢
  • 2020-11-19
  • 2023-03-21
  • 1970-01-01
  • 2015-11-23
  • 2019-05-09
  • 2011-06-10
  • 2020-12-17
  • 2017-02-06
  • 1970-01-01
相关资源
最近更新 更多