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

执行CREATE TABLE建表语句提示Missing right parenthesis报错求助

问题原因与解决方案

报错根因

你运行SQL的环境为Oracle数据库,INT/INTEGER类型在Oracle中属于NUMBER类型的子类型,语法上不支持指定长度参数。你语句中写的INT(3)、INT(10)属于非法语法,数据库解析时遇到不符合规则的参数配置,会误判为建表语句的右括号缺失,因此抛出Missing right parenthesis报错。

修复方案

你可以选择以下任意一种方案修改SQL:

  • 方案1:不需要限制数字字段长度时,直接删除INT后的长度参数,修改后语句如下:
CREATE TABLE CUSTOMER
(
    CUSTOMER_NO INT PRIMARY KEY,
    CUSTOMER_NAME VARCHAR2(200),
    CUSTOMER_ADDRESS VARCHAR2(200),
    CUSTOMER_PHONE INT,
    GENDER VARCHAR2(10)
);
  • 方案2:需要明确限制数字字段的精度时,改用Oracle原生支持的NUMBER类型:
CREATE TABLE CUSTOMER
(
    CUSTOMER_NO NUMBER(3) PRIMARY KEY,
    CUSTOMER_NAME VARCHAR2(200),
    CUSTOMER_ADDRESS VARCHAR2(200),
    CUSTOMER_PHONE NUMBER(10),
    GENDER VARCHAR2(10)
);

额外优化建议

不建议使用数字类型存储手机号,后续如果遇到带+86前缀、区号分隔符等特殊格式的手机号会存储失败,建议将CUSTOMER_PHONE字段改为VARCHAR2(20)类型。

内容的提问来源于stack exchange,提问作者salman bin zaraah

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.23 14:24:00