无法识别的语句类型。 (位置 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中可识别的文件路径的转义方法,(另附转义多种格式)

php 无法识别的自定义帖子类型的帖子配额。一些旧主题注册Pro Sites无法识别的帖子类型,这可以用于限制

asp.net网页报错应用程序中的服务器错误,无法识别的属性"targetframework"