为啥我的 SQL 查询在 MySQL 工作台中失败?

Posted

技术标签:

【中文标题】为啥我的 SQL 查询在 MySQL 工作台中失败?【英文标题】:Why is my SQL query failing in MySQL workbench?为什么我的 SQL 查询在 MySQL 工作台中失败? 【发布时间】:2021-01-21 23:56:33 【问题描述】:

我是 mysql 新手。我创建了两个表,员工的字段为 Employeeid(PK)、姓名、地址和订单,字段为 idOrder(PK) 和 Employeeid。

我正在尝试运行这个简单的连接查询 --

SELECT * FROM employee JOIN order ON employee.Employeeid = order.Employeeid;

但是,选择被标记为红色并且正在显示

"SELECT" is not valid at this position for this server version, expecting: '(', WITH

我做了一些谷歌搜索,它看起来是一个语法,解析错误,但我无法查明根本原因。任何帮助将不胜感激。

【问题讨论】:

尝试:在反引号中设置顺序。 ORDER 是一个关键字,您将其用作模式名 order 是我相信的保留字。你能创建order 表吗?如果是这样,我建议避免使用此类名称并为其命名。 请在代码问题中给出minimal reproducible example--cut & paste & runnable code,包括最小的代表性示例输入作为代码;期望和实际输出(包括逐字错误消息);标签和版本;明确的规范和解释。给出尽可能少的代码,即您显示的代码可以通过您显示的代码扩展为不正常的代码。 (调试基础。)对于包含 DBMS 和 DDL(包括约束和索引)的 SQL,并以表格格式作为代码输入。 How to Ask 暂停总体目标的工作,将代码砍到第一个表达式,没有给出你期望的内容,说出你期望的内容和原因。 您有语法错误。阅读语法和手册。显示组成子表达式是可以的。请在考虑发布之前阅读您的教科书和/或手册和谷歌任何错误消息或您的问题/问题/目标的许多清晰、简洁和精确的措辞,有和没有您的特定字符串/名称和站点:***.com 和标签;阅读许多答案。反映你的研究。请参阅How to Ask 和投票箭头鼠标悬停文本。如果您发布问题,请使用一个措辞作为标题。 【参考方案1】:

orderMySQL中的关键字,需要使用`

进行转义
SELECT e.* FROM employee e JOIN `order` AS o ON e.Employeeid = o.Employeeid;

【讨论】:

以上是关于为啥我的 SQL 查询在 MySQL 工作台中失败?的主要内容,如果未能解决你的问题,请参考以下文章

MySQL Workbench - 如何诊断查询失败问题

sql子查询!基本 sql 查询中 ANY 运算符的问题。不知道为啥在我的查询中需要它以及它将如何工作?

使用MYSQL时,Grails条件查询失败,语法错误

为啥这个 SQL 查询失败

将 Grafana 连接到 MySQL 显示查询失败,为啥?

为啥我的查询因 SQLCODE = -420 而失败?