如何在数据库表中建立复合主键(即多个字段同时作为

如何在数据库表中建立复合主键(即多个字段同时作为,第1张

(即多个字段同时作为主键)主键是数据库表的一个重要属性,建立主键可以避免表中存在完全相同的记录,也就是说主键在一张表中的记录值是唯一的。

建立主键有两种方法:一种是在数据库提供的GUI环境中建立,另一种是通过SQL语句执行建立,下面分别介绍。

1.在数据库提供的GUI环境中建立(以SQL7为例)。

输入表信息后按Ctrl键同时选中多行,然后点上面的主键按钮就行了。

2.通过SQL语句执行建立。又分两种,一是在建表语句中直接写,二是建表之后更改表结构。

在建表语句中直接写:

Create Table 表名 (字段名1 Int Not Null,

字段名2 nvarchar(13) Not Null Primary Key (字段名1, 字段名2),

字段名3…………

字段名N………… )

建表之后更改表结构:

CREATE TABLE 表名 (字段名1 Int Not Null,

字段名2 nvarchar(13) Not Null

字段名3…………

字段名N…………)

GO

ALTER TABLE 表名 WITH NOCHECK ADD

CONSTRAINT [PK_表名] PRIMARY KEY NONCLUSTERED

(

[字段名1],

[字段名2]

)

GO

例:

CREATE TABLE Student

(Son CHAR(12) PRIMARY KEY,

CREATE TABLE Course

(Con CHAR(4),

PRIMARY KEY (Con),

)

CREATE TABLE SC

(Sno CHAR(12),

Con CHAR(4),

PRIMARY KEY(Sno,Con),

FOREIGN KEY(Sno)REFERENCES Student(Sno),

FOREIGN KEY(Cno)REFERENCES Course(Cno))

首先一个表是不能有两个主键的。但是可以有两个字段组合成一个主键,这就是为什么有时候表里为什么会有两个字段都有主键的标志,那是因为他们组合成了一个主键了。我们可以先删除了原来的主键再用类似下面SQL语句建立:

alter table 你的表名 add constraint pk_name primary key (字段1,字段2)

或者在表设计器里面按住ctrl选中要设置主键的两列再设置主键就OK了.

没有问题,可以定义多个字段为主键,就是组合主键。

这种主键主要用在一对多的关系中,如果是在一个典型的一对多的关系中,某一表定义为组合主键后,也意味着它对它的下属一对多表,也要用组合主键方可。

用了组合键的表相当于是连接其他几个表的桥梁。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/6632828.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-26
下一篇 2023-03-26

发表评论

登录后才能评论

评论列表(0条)

保存