在数据库中创建TABLE时出错

1 sql oracle ddl syntax-error create-table

我正在使用oracle 10g ex来学习,所以这里是我的代码

CREATE TABLE MINE 
(
    NAME VARCHAR(10),
    ID INT(3) PRIMARY KEY 
);
Run Code Online (Sandbox Code Playgroud)

而我的错误是

ORA-00907:缺少右括号.

但我没有错过正确的括号.要解决这个问题,我还有其他任何机会或事情要知道.

MT0*_*MT0 5

INT不需要大小 - 它是别名NUMBER(38).

CREATE TABLE MINE 
(
    NAME VARCHAR(10),
    ID   INT PRIMARY KEY 
);
Run Code Online (Sandbox Code Playgroud)

但是,您可能想要的是使用VARCHAR2NUMBER类型:

CREATE TABLE MINE 
(
    NAME VARCHAR2(10),
    ID   NUMBER(3,0) PRIMARY KEY 
);
Run Code Online (Sandbox Code Playgroud)

现在是时候养成良好的习惯 - 你可能也想要命名你的约束:

CREATE TABLE MINE 
(
    NAME VARCHAR2(10),
    ID   NUMBER(3,0) CONSTRAINT mine__id__pk PRIMARY KEY 
);
Run Code Online (Sandbox Code Playgroud)