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

MySQL中使用row_number()的CTE出现语法错误,寻求排查方案

问题分析与解决

你的CTE语句仅定义了临时表team,但缺少使用该临时表的后续查询逻辑,这是触发1064语法错误的核心原因。此外需确认你的MySQL版本是否支持CTE特性(仅MySQL 8.0及以上版本支持WITH语句)。

修正后的示例代码

WITH team AS (
    SELECT 
        row_number() OVER() AS id,
        team_code,
        team_name
    FROM teams
)
-- 必须添加对CTE的查询语句,例如:
SELECT * FROM team;

额外排查点

  • 验证MySQL版本:执行SELECT VERSION();,若版本低于8.0,需升级版本,或改用子查询替代CTE实现需求。
  • 检查语句衔接:确保CTE定义后没有多余的分号或其他语法错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 16:51:59