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

DB2 LUW创建表时出现Unexpected token 'BIGINT'错误求助

问题分析与修正

你的SQL语句存在两处关键语法错误,导致DB2解析失败:

  • BIGINT类型错误指定长度:DB2中BIGINT是固定8字节的整数类型,不需要像CHAR/VARCHAR那样通过括号指定长度。BIGINT (8)的写法不符合DB2语法规范,会触发解析错误。
  • 默认值未加单引号:DEFAULT J中的J没有用单引号包裹,DB2会将其视为标识符(如列名、变量)而非字符串常量,这会导致语法解析异常,正确写法应为DEFAULT 'J'。

空格确实不会影响执行,但统一格式能提升代码可读性。

修正后的SQL语句

CREATE TABLE USERMNGR.AUTHORIZED_CLIENT (
    ID BIGINT DEFAULT 'J' NOT NULL,
    AUTHORIZED_CLIENT_STATUS CHAR(10) DEFAULT 'Y',
    CLIENT_NAME VARCHAR(40) DEFAULT 'N' NOT NULL,
    NATIONAL_CODE CHAR(16) DEFAULT 'N' NOT NULL,
    PRIMARY KEY (ID)
);

额外说明

如果你原本希望ID列使用自增序列而非固定字符串默认值,DB2中可以用GENERATED ALWAYS AS IDENTITY实现,示例如下:

CREATE TABLE USERMNGR.AUTHORIZED_CLIENT (
    ID BIGINT GENERATED ALWAYS AS IDENTITY NOT NULL,
    AUTHORIZED_CLIENT_STATUS CHAR(10) DEFAULT 'Y',
    CLIENT_NAME VARCHAR(40) DEFAULT 'N' NOT NULL,
    NATIONAL_CODE CHAR(16) DEFAULT 'N' NOT NULL,
    PRIMARY KEY (ID)
);

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 05:48:18