首页 > 解决方案 > 创建表失败

问题描述

我是 SQL 新手,我想创建一个表。有时我成功地创建了一个表,有时我失败了。帮助我,当我失败时,我找不到哪里出错了。我总是收到此错误消息

ORA-00907: missing right parenthesis
ORA-06512: at "SYS.WWV_DBMS_SQL_APEX_190200", line 592
ORA-06512: at "SYS.DBMS_SYS_SQL", line 1658
ORA-06512: at "SYS.WWV_DBMS_SQL_APEX_190200", line 578
ORA-06512: at "APEX_190200.WWV_FLOW_DYNAMIC_EXEC", line 2057

3.             (
4.              CustomerID INT(2)
5.             ,CityID INT(2)
6.             ,CustomerName VARCHAR2(20)
7.             ,CONSTRAINT cu_pk PRIMARY KEY (CustomerID)

我的SQL语句如下:

CREATE TABLE
        Customer
            (
             CustomerID INT(2)
            ,CityID INT(2)
            ,CustomerName VARCHAR2(20)
            ,CONSTRAINT cu_pk PRIMARY KEY (CustomerID)
            );

标签: oracleddlsqldatatypes

解决方案


Oracle 与 MySQL 不同(没有数据类型INT(n)):

CREATE TABLE Customer
(
         CustomerID INT --remove (2)  or change to NUMBER(2,0)
        ,CityID INT     --(2)
        ,CustomerName VARCHAR2(20)
        ,CONSTRAINT cu_pk PRIMARY KEY (CustomerID)
);

db<>小提琴演示

11.1.6 数值类型属性

MySQL 支持扩展,用于在类型的 base 关键字后面的括号中可选地指定整数数据类型的显示宽度。


推荐阅读