在数据库中创建TABLE时出错

时间:2016-06-04 08:19:34

标签: sql oracle syntax-error ddl create-table

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

CREATE TABLE MINE 
(
    NAME VARCHAR(10),
    ID INT(3) PRIMARY KEY 
);

我的错误是

  

ORA-00907:缺少右括号。

但我没有错过正确的括号。我还有其他任何机会或事情可以解决这个问题。

3 个答案:

答案 0 :(得分:5)

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

CREATE TABLE MINE 
(
    NAME VARCHAR(10),
    ID   INT PRIMARY KEY 
);

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

CREATE TABLE MINE 
(
    NAME VARCHAR2(10),
    ID   NUMBER(3,0) PRIMARY KEY 
);

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

CREATE TABLE MINE 
(
    NAME VARCHAR2(10),
    ID   NUMBER(3,0) CONSTRAINT mine__id__pk PRIMARY KEY 
);

答案 1 :(得分:2)

int数据类型没有大小参数:

CREATE TABLE MINE 
(
    NAME VARCHAR(10),
    ID INT PRIMARY KEY -- Here!
);

答案 2 :(得分:-2)

create table Mine(name varchar(10),Id number(20)PRIMARY KEY);