大家好,我是小典,我来为大家解答以上问题。primary key是什么意思,如果primary key不唯一很多人还不知道,现在让我们一起来看看吧!
1、rimary key 与 unique 的区别 定义了 UNIQUE 约束32313133353236313431303231363533e58685e5aeb931333337386665的字段中不能包含重复值, 可以为一个或多个字段定义 UNIQUE 约 束。
2、因此,UNIQUE 即可以在字段级也可以在表级定义, 在 UNIQUED 约束的字段上可 以包含空值。
3、 ORACLE 自动会为具有 PRIMARY KEY 约束的字段(主码字段)建立一个唯一 索引和一个 NOT NULL 约束,定义 PRIMARY KEY 约束时可以为它的索引; UNIQUED 可空,可以在一个表里的一个或多个字段定义;PRIMARY KEY 不可空不可重 复,在一个表里可以定义联合主键; 简单的说,primary key = unique + not null unique 就是唯一, 当你需要限定你的某个表字段每个值都唯一,没有重复值时使用。
4、 比如说, 如果你有一个 person 表,并且表中有个身份证的 column,那么你就可以指定该字段为 unique。
5、 从技术的角度来看,Primary Key 和 Unique Key 有很多相似之处。
6、但还是有以下 区别: 一、作为 Primary Key 的域/域组不能为 null,而 Unique Key 可以。
7、 二、在一个表中只能有一个 Primary Key,而多个 Unique Key 可以同时存在。
8、 更大的区别在逻辑设计上。
9、Primary Key 一般在逻辑设计中用作记录标识,这也是设置 Primary Key 的本来用意,而 Unique Key 只是为了保证域/域组的唯一性。
10、 oracle 的 constraint 中有两种约束,都是对列的唯一性限制――unique 与 primary key,但 其中是有区别的: unique key 要求列唯一,但不包括 null 字段,也就是约束的列可以为空且仅要求列中的 值除 null 之外不重复即可; 2、 primary key 也要求列唯一, 同时又限制字段的值不能为 null, 相当于 Primary Key=unique + not null。
11、 创建一个 primary key 和 unique key 都会相应的创建一个 unique index。
12、 0primary key 的语法:alter table table name add constraint key name primary key( columns); unique key 的语法:alter table table name add constraint key name unique( columns); 一个表只能有一个主键,但是可以有好多个 UNIQUE,而且 UNIQUE 可以为 NULL 值,如 员工的电话号码一般就用 UNIQUE,因为电话号码肯定是唯一的,但是有的员工可能没有 电话。
13、 主键肯定是唯一的,但唯一的不一定是主键; 不要总把 UNIQUE 索引和 UNIQUE 约束混为一谈 primary key = unique + not null 2、唯一约束和主键一样都是约束的范畴,而且都可以作为外键的参考,不同的是,一张表 只能有一个主键 3、主键和唯一约束的创建需要依靠索引,如果在创建主键或唯一约束的时候没有已经建好 的索引可以使用的话,Oracle 会自动建立一个唯一的索引。
本文到此讲解完毕了,希望对大家有帮助。