无法识别的语句类型。 (位置 0 的“WITH”附近)
Posted
技术标签:
【中文标题】无法识别的语句类型。 (位置 0 的“WITH”附近)【英文标题】:Unrecognized statement type. (near "WITH" at position 0) 【发布时间】:2019-01-16 11:21:24 【问题描述】:我正在使用 mysql phpmyadmin,版本 10.1.34-maraiDB。 我无法执行以下 cte 代码。 the code error shown when i run the code
WITH cte (Employee_ID, First_Name, Last_Name,Email, Phone, Hire_Date,
Manager_ID, Job_Title) AS
(
SELECT Employee_ID, First_Name, Last_Name,Email, Phone, Hire_Date,
Manager_ID, Job_Title
FROM employees
)
SELECT * FROM cteEmp;
【问题讨论】:
你为什么使用 CTE 这是一个简单的查询。什么是 CteEmp?您还没有指定任何地方 【参考方案1】:仅从 MariaDB 版本 10.2.1
开始支持 WITH
公用表表达式子句。来自documentation:
公共表表达式 WITH 是在 MariaDB 10.2.1 中引入的。
但是,您可以简单地将 CTE 直接内联到查询中,它应该可以工作。在您的特定情况下,您可以只执行 CTE 中的代码:
SELECT Employee_ID, First_Name, Last_Name,Email, Phone, Hire_Date,
Manager_ID, Job_Title
FROM employees;
【讨论】:
我们被要求在 CTE 中使用递归 SQL 连接,我无法确定我的代码是对还是错,因为它不适用于我的版本。也许我会尝试更新我的 MaraiDB 版本。 @jeromenas 检查 MariaDB 文档,因为递归 CTE 需要比我上面列出的非递归 CTE 更高的版本。 正在下载 自 MariaDB 10.2.2 起支持递归公用表表达式。以上是关于无法识别的语句类型。 (位置 0 的“WITH”附近)的主要内容,如果未能解决你的问题,请参考以下文章
我更新到 MariaDB 10.2.20 以使用 CTE。在 phpMyAdmin 中仍然出现“无法识别的语句类型。(靠近 WITH)
无法识别的名称:使用 bigquery 标准 sql 进行嵌套查询时出错
Windows文件路径转换为java中可识别的文件路径的转义方法,(另附转义多种格式)