【问题标题】:Unrecognized statement type. (near "WITH" at position 0) even after upgrade MariaDB version无法识别的语句类型。 (在位置 0 的“WITH”附近)即使在升级 MariaDB 版本之后
【发布时间】:2019-03-13 21:51:01
【问题描述】:

我在 windows pc 上使用了包含 mariadb 10.1.x 的 xampp。 由于我需要使用至少需要 mariadb 10.2.x 的递归 cte 函数,我尝试寻找新的 xampp 但没有找到任何具有 mariadb 10.2 的,所以我在 xampp mysql 文件夹上手动安装 mariadb 10.3。它有效并向我展示了 mariadb 10.3 的正确版本,但是当我在查询中尝试它时,它仍然返回错误“在 WITH 附近无法识别的语句”有什么建议可以解决我的问题吗?

WITH RECURSIVE category AS (
    SELECT NULL AS col
    UNION
    SELECT "THIS NEVER SHOWS UP" AS col FROM category
)

*已编辑 即使有来自 mariaDB doc 的示例查询,它仍然给我相同的 error

【问题讨论】:

  • 你快到了Recursive CTE
  • 你从不使用那个 CTE...这本身就是一个语法错误,因为没有实际的查询。 MariaDB 10.2.2 或更高版本实际上应该支持递归 CTE。只需以文档为例即可上手。
  • 对不起,我在帖子上提供随机查询不好......用mariaDB doc示例在那里编辑了我的问题,但语句仍然无法识别相同的错误
  • 似乎更多的是与安装和配置有关的问题,而不是编程问题。因此我认为这个问题更适合SuperUser
  • 我希望“...语法错误...”,而不是“无法识别的语句...”您在哪里运行它?你在使用 PHP 吗?如果是这样,让我们​​看看调用它的语句。

标签: mysql windows xampp mariadb


【解决方案1】:

WITH 关键字(公用表表达式)尚不被 phpmyadmin 的 sql 解析器支持 可以查看here

在使用相同语法之前,请使用其他替代工具,例如 macos 的 sequal pro 等或 sql 命令行本身。

【讨论】:

    猜你喜欢
    • 2019-01-16
    • 1970-01-01
    • 2022-01-21
    • 2021-11-24
    • 2018-10-06
    • 1970-01-01
    • 1970-01-01
    • 2019-05-25
    • 1970-01-01
    相关资源
    最近更新 更多