我可以在SQL中的同一列中设置Unique constraints和Not Null约束吗?

时间:2012-11-30 05:16:16

标签: mysql sql

我在sql中不擅长。我只是想清除我对你的怀疑。我可以为单列分配两个约束。

例如

     eno ename address mobileno
      1   A      US      9089877878
      2   B      UK      NULL
      3   C      IND     9089877878

考虑上面的例子,我不想让用户为mobileno列输入NULL或相同的值。我怎样才能限制用户这样做?

感谢您的重要时刻。

4 个答案:

答案 0 :(得分:3)

CREATE TABLE table_name (column_name type NOT NULL, UNIQUE (column_name))

答案 1 :(得分:0)

或者你也可以这样使用,

CREATE TABLE Persons
(
Id int NOT NULL UNIQUE,

答案 2 :(得分:0)

一种解决方案是,数据不能复制以及数据不能为空。 可以使用make this列作为主键。

CREATE TABLE table_name(eno NUMBER(3),ename CHAR(1),address CHAR(3),mobile_no NUMBER(10) PRIMARY KEY(mobile_no));

在Oracle中,我们可以将一个以上的主键应用为您所知道的复合键,可以按照以下方式进行:

CREATE TABLE table_name(eno NUMBER(3),ename CHAR(1),address CHAR(3),mobile_no NUMBER(10) PRIMARY KEY(eno,mobile_no));

答案 3 :(得分:0)

是的,你可以

CREATE TABLE TABLE_NAME
 ( eno NUMBER
  ,ename VARCHAR2(100)
  ,address VARCHAR2(2000) 
  ,mobileno NUMBER NOT NULL
  ,constraint table_name_mobile_UK UNIQUE (mobileno)
);
相关问题