首页 > 解决方案 > 无法识别的语句类型。(位置 0 的“WITH”附近)

问题描述

我正在使用 mysql phpmyadmin,版本 10.1.34-maraiDB。我无法执行以下 cte 代码。 我运行代码时显示的代码错误

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;

标签: phpmyadminmariadb

解决方案


WITH仅从 MariaDB 版本开始支持公用表表达式子句10.2.1。从文档

公用表表达式 WITH 是在 MariaDB 10.2.1 中引入的。

但是,您可以简单地将 CTE 直接内联到查询中,它应该可以工作。在您的特定情况下,您可以只执行 CTE 内的代码:

SELECT Employee_ID, First_Name, Last_Name,Email, Phone, Hire_Date,
    Manager_ID, Job_Title
FROM employees;

推荐阅读