1

我的sql不好。我只是想和你一起消除我的疑虑。我可以将两个约束分配给单个列吗?

例如

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

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

感谢您的重要时间。

4

4 回答 4

3

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

于 2012-11-30T05:18:44.813 回答
0

是的你可以

CREATE TABLE TABLE_NAME
 ( eno NUMBER
  ,ename VARCHAR2(100)
  ,address VARCHAR2(2000) 
  ,mobileno NUMBER NOT NULL
  ,constraint table_name_mobile_UK UNIQUE (mobileno)
);
于 2012-11-30T05:59:46.607 回答
0

或者你也可以使用这种方式,

CREATE TABLE Persons
(
Id int NOT NULL UNIQUE,
于 2012-11-30T05:27:05.970 回答
0

一种解决方案是数据不能重复以及数据不能为空。可以使用将此列作为主键。

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));

于 2012-11-30T05:36:07.720 回答