所谓的复合主键就是指你表的主键含有一个以上的字段组成
比如
create table test
(
name varchar(19),
id number,
value varchar(10),
primary key (name,id)
)
上面的name和id字段组合起来就是你test表的复合主键
它的出现是因为你的name字段可能会出现重名,所以要加上ID字段这样就可以保证你记录的唯一性
一般情况下,主键的字段长度和字段数目要越少越好
什么是联合主键?
(主键原则上是唯一的,别被唯一值所困扰。)
顾名思义就是多个主键联合形成一个主键组合
一个简单的例子
主键A跟主键B组成联合主键
主键A跟主键B的数据可以完全相同(困扰吧,没关系),联合就在于主键A跟主键B形成的联合主键是唯一的。
下例主键A数据是1,主键B数据也是1,联合主键其实是11,这个11是唯一值,绝对不充许再出现11这个唯一值。(这就是多对多关系)
主键A数据
主键B数据
11
22
33
主键A与主键B的联合主键值最多也就是
11
12
13
21
22
23
31
32
33
猜测你说的是 主键 primary key 不能为空 。数据库都是这样。区分两条记录必须要通过key。可以是唯一的key 就是主键 或者是组合的 key(姓+名) 联合主键 。当你设置记录为null后 那么key为null的两条记录 你如何区分 到底要 *** 作的是谁? 所以,不能设置为null 最好也不要重复欢迎分享,转载请注明来源:内存溢出
评论列表(0条)