我尝试在创建表的过程中为一列添加多个约束**,但我不确定如何在创建表的过程中正确添加NOT NULL和UNIQUE约束。
SQL> CREATE TABLE BOOK_STORES
2 (Store_ID NUMBER(8)
3 ,Name VARCHAR2(30)
4 ,Contact VARCHAR2(30)
5 ,Rep_ID VARCHAR(5)
6 ,CONSTRAINT Store_id_PK PRIMARY KEY (Store_ID)
7 ,CONSTRAINT Name_UN UNIQUE (Name), Name_NN NOT NULL (Name));
这就是我迄今为止所尝试的。我是Oracle和SQL的新手。我希望这两个约束都应用到“Name”列,这样它就不会接受空值或重复值。
但我收到了这个错误:
,CONSTRAINT Name_UN UNIQUE (Name), Name_NN NOT NULL (Name))
*
ERROR at line 7:
ORA-00907: missing right parenthesis
1条答案
按热度按时间zwghvu4y1#
您可以对
NOT NULL
使用内嵌约束:或者,要命名约束:
或者,使用
CHECK
约束(而不是NOT NULL
约束)来检查它是否为空:fiddle