我的sql不好。我只是想和你一起消除我的疑虑。我可以将两个约束分配给单个列吗?
例如
eno ename address mobileno
1 A US 9089877878
2 B UK NULL
3 C IND 9089877878
考虑上面的例子,我不想让用户为 mobileno 列输入 NULL 或相同的值。我如何限制用户这样做?
感谢您的重要时间。
CREATE TABLE table_name (column_name type NOT NULL,
UNIQUE (column_name))
是的你可以
CREATE TABLE TABLE_NAME
( eno NUMBER
,ename VARCHAR2(100)
,address VARCHAR2(2000)
,mobileno NUMBER NOT NULL
,constraint table_name_mobile_UK UNIQUE (mobileno)
);
或者你也可以使用这种方式,
CREATE TABLE Persons
(
Id int NOT NULL UNIQUE,
一种解决方案是数据不能重复以及数据不能为空。可以使用将此列作为主键。
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));