Oracle表错误:使用约束创建表

时间:2014-02-22 05:25:59

标签: sql oracle10g

create table prmr(
    emp_id number(10) primary key,
    name varchar2(10),
    mob number(10) unique key,
    id varchar2(10),
    email varchar2(20)
);

当我创建此表时,它会给我错误"Missing Parenthesis"。有什么帮助吗?

2 个答案:

答案 0 :(得分:2)

你的语法错了。从key

中删除unique key
CREATE TABLE prmr(
   emp_id number(10) PRIMARY KEY,
   name varchar2(10),
   mob number(10) UNIQUE,
   id varchar2(10),
   email varchar2(20)
);

还有一种方法可以单独指定约束:

CREATE TABLE prmr(
   emp_id number(10) NOT NULL,
   name varchar2(10),
   mob number(10),
   id varchar2(10),
   email varchar2(20),
   CONSTRAINT mob_unique UNIQUE (mob),
   CONSTRAINT emp_id_pk PRIMARY KEY (emp_id)
);

我还在NOT NULL添加了emp_id(尽管您不需要明确指定它,因为emp_id是PK,这可能有助于避免无论如何都是混乱)。

答案 1 :(得分:0)

试试这个:

create table prmr(
   emp_id number(10),
   name varchar2(10),
   mob number(10),
   id varchar2(10),
   email varchar2(20),
   CONSTRAINT PK_table PRIMARY KEY (emp_id),
   CONSTRAINT unique_mob UNIQUE(mob)
);