我不擅长sql。我只是想和你澄清我的疑虑。我可以为单列分配两个约束吗?
例如
eno ename address mobileno
1 A US 9089877878
2 B UK NULL
3 C IND 9089877878
考虑上面的例子,我不想允许用户输入 NULL 或相同的 mobileno 列值。如何限制用户执行此操作?
感谢您的重要时间。
CREATE TABLE table_name (column_name type NOT NULL,
UNIQUE (column_name))
或者你也可以用这种方式,
CREATE TABLE Persons
(
Id int NOT NULL UNIQUE,
是的,你可以
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 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));