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

为何以下SQL代码出现语法错误?报错提示:缺少右括号

解决CREATE TABLE报错“Missing right parenthesis”的问题

这段SQL在SQL Server环境下语法完全合法,不存在缺少右括号的问题。报错大概率是以下几种情况导致:

  • 执行环境不兼容:如果是在Oracle这类非SQL Server数据库中运行这段代码,会因为语法不匹配触发错误。Oracle不支持ON [PRIMARY]这种表空间写法,也不认识GO批处理分隔符,解析器会因此混乱,误报“缺少右括号”。
  • 存在不可见特殊字符:复制代码时可能带入了隐藏的控制字符(比如非标准换行符、零宽空格),导致数据库无法正确识别括号的闭合状态。可以尝试手动重新敲一遍代码,或者用文本编辑器的“显示所有字符”功能排查并清除特殊字符。
  • 客户端工具解析bug:部分数据库工具可能存在解析异常,试试换个工具执行(比如SQL Server用SSMS,Oracle用PL/SQL Developer),或者把代码拆成单个批处理(去掉GO,分块执行)。

针对不同环境的修复方案

  1. SQL Server环境:
    检查代码中的隐藏字符,重新复制或手动输入后执行即可,原代码本身没有语法问题。

  2. Oracle环境:
    需要修改为Oracle兼容的语法:

    CREATE TABLE Channel(
        ChannelID INT NULL,
        ChannelCategoryID INT NULL,
        Channel NVARCHAR2(50) NULL,
        CreatedDate DATE NULL,
        CreatedBy NVARCHAR2(255) NULL,
        ModifiedDate DATE NULL,
        ModifiedBy NVARCHAR2(255) NULL
    ) TABLESPACE PRIMARY;
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 14:20:58