create table table_name
(
first_name varchar2(12),
second_name varchar2(10),
idcard varchar(36),
home_name varchar(66),
constraint pk_table_name primary key(first_name,second_name,idcard) -- 联合主键
)
2.创建表之后追加联合主键
alter table table_name add constraint pk_table_name primary key (first_name,second_name)
联合主键的设置方法:打开navicat工具,连接上mysql服务器,选择完数据库之后,选择一个表右击选择设计表(这里为了演示测试,随便选择一个表即可)。
在设计表页面,可以看到当前表的所有字段信息,我们选择的学生表有一个id字段,目前该表没有主键字段。
在最后一列右击选择主键,即可将该字段设置为主键,也可以直接点击鼠标左键,可以快速添加和取消主键。
设置完主键之后,可以看到一把锁的标识,并且有一个1字,因为一个表可以给多个字段添加主键,则为联合主键,这样就显示为主键1,主键2等。
altertable
表
add
constraint
pk_name
primary
key
(列1,列2,...)
联合主键的好处是不需要因为需要主键而增加一个无用的主键列
例如如果不用联合主键你必须增加个列ID设置主键
但这个ID列无任何作用
至于在什么情况下使用,就像刚才举例的,当你这个表的主键ID无任何用处,那么就用联合主键好了,你可以节约一个列的空间,但如果这表的ID列要做为别的表的外键的话,就不能用联合主键了。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)