You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MySQL 8.0版本创建CTE公共表达式时报1064语法错误如何解决?

MySQL 8.0 CTE语法报错1064问题分析

报错核心原因

MySQL 8.0版本原生支持CTE语法,不存在版本兼容问题,本次报错是因为仅完成了CTE的定义,没有在CTE声明结束后紧跟对应的调用查询语句,不符合MySQL语法规范。

具体规则说明

  • CTE是单次查询有效的临时结果集,WITH关键字仅用于声明CTE结构,不能作为单独的SQL语句执行,必须在CTE定义完成后立刻编写调用该CTE的业务查询语句。
  • 你当前提交执行的代码只有CTE定义片段,SQL解析器执行到CTE结束的括号位置后,无法识别后续的合法SQL内容,因此抛出1064语法错误。

正确代码示例

如果需要查询该CTE的全部结果,写法如下:

WITH sub_query AS (SELECT imdp_title_id FROM movie_ratings)
SELECT * FROM sub_query;

也可根据业务需求在后续查询中增加过滤、聚合等逻辑,例如:

WITH sub_query AS (SELECT imdp_title_id FROM movie_ratings)
SELECT COUNT(*) AS total FROM sub_query;

内容的提问来源于stack exchange,提问作者AmirWG

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.10 05:09:02