1. 首页
  2. 设置

数据库怎么设置联合主键

本文主要为您介绍数据库怎么设置联合主键,内容包括SQLServer怎么建立联合主键,SQL2014如何设置联合主键,数据库如何建立联合主键。SQL Server建立联合主键方法:在建表时就写出,语句如下:Create Table 表名 (字段名1 Int Not Null,字

1.SQL Server 怎么建立联合主键

一、SQL Server建立联合主键方法:

1、在建表时就写出,语句如下:

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

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

字段名3…………

字段名N………… )

2、在建表后更改,语句如下:

ALTER TABLE 表名 WITH NOCHECK ADD

CONSTRAINT [PK_表名] PRIMARY KEY NONCLUSTERED

(

[字段名1],

[字段名2]

)

二、联合主键的好处:

用2个字段(或者多个字段,后面具体都是用2个字段组合)来确定一条记录,说明,这2个字段都不是唯一的,2个字段可以分别重复,这么设置的好处,可以很直观的看到某个重复字段的记录条数。

三、使用联合主键情况:

比如,你的订单表里有很多字段,一般情况只要有个订单号bill_no做主键就可以了,但是,现在要求可能会有补 充订单,使用相同的订单号,那么这时单独使用订单号就不可以了,因为会有重复。那么你可以再使用个订单序列号bill_seq来 作为区别。把bill_no和bill_seq设成联合主键。

即使bill_no相同,bill_seq不同也是可以的。

扩展资料:

例子如下:

主键A跟主键B组成联合主键,主键A跟主键B的数据可以完全相同,联合就在于主键A跟主键B形成的联合主键是唯一的。

下例主键A数据是1,主键B数据也是1,联合主键其实是11,这个11是唯一值,绝对不充许再出现11这个唯一值。(这就是多对多关系)

主键A数据 主键B数据

1 1

2 2

3 3

主键A与主键B的联合主键值最多也就是

11

12

13

21

22

23

31

32

33

2.SQL Server 怎么建立联合主键

T-sql语句为:

alter table 表

add constraint pk_name primary key (列1,列2,。)

如果不用命令建表的话只要同时将两个属性设为主键就行啦。

省略号代表其它列。

联合主键用于字段中内容都可重复的表

如公司部门人员表,里面包含部门名,职工姓名等字段, 每个部门中的人无重名,部门间可能有重名,如果设部门名为主键,则部门里有不止一个人,部门名有重复,如果设姓名为主键,则部门间人员可能有重名,也不唯一。

将部门名和职工姓名一起设为主键,这两个字段加起来不可能重复

有什么不懂的可以再问我。。嘿嘿。

3.SQL Server 怎么建立联合主键

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

建立主键有两种方法:一种是在数据库提供的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可以参考一下,相关的资料网上很多。

数据库怎么设置联合主键

本文来自投稿,不代表本站立场,如若转载,请注明出处。