建立联合主键有两种方式:
一种是在建表时就写出,语句如下:
Create Table 表名 (字段名1 Int Not Null,
字段名2 nvarchar(13) Not Null Primary Key (字段名1, 字段名2),
字段名3????
字段名N???? )
另一种是在建表后更改,语句如下:
alter table 你的表名 add constraint pk_你的表名 primary key (字段1,字段2)
ALTER TABLE 表名 WITH NOCHECK ADD
CONSTRAINT [PK_表名] PRIMARY KEY NONCLUSTERED
(
[字段名1],
[字段名2]
)
创建联合主键还可以这样写:
create table huayunkeji_today(device_id int , year int, month int, day int, hour int, temperature float, humidity float,
primary key(device_id,year,month,day,hour))
扩展资料:
联合主键的使用情况及优点:
联合主键就是用2个或2个以上的字段组成主键。用这个主键包含的字段作为主键,这个组合在数据表中是唯一,且加了主键索引。
可以这么理解,比如,你的订单表里有很多字段,一般情况只要有个订单号bill_no做主键就可以了,但是,现在要求可能会有补充订单,使用相同的订单号,那么这时单独使用订单号就不可以了。
再使用个订单序列号bill_seq来作为区别。把bill_no和bill_seq设成联合主键。即使bill_no相同,bill_seq不同也是可以的。
数据库中,关系模型中的主键是对每条数据记录的唯一标识,不可重复。主键可以是属性集,比如一张表R(A,B,C,D),主键为A+B是可以的。
主键,即主关键字(primary key)是表中的一个或多个字段,它的值用于唯一地标识表中的某一条记录。在两个表的关系中,主关键字用来在一个表中引用来自于另一个表中的特定记录。主关键字是一种唯一关键字,表定义的一部分。
一个表的主键可以由多个关键字共同组成,并且主关键字的列不能包含空值。主关键字是可选的,并且可在 CREATE TABLE 或 ALTER TABLE 语句中定义。
扩展资料:
建立主键应该遵循的原则:
1、主键应当是对用户没有意义的。如果用户看到了一个表示多对多关系的连接表中的数据,并抱怨它没有什么用处,那就证明它的主键设计地很好。
2、 永远也不要更新主键。因为主键除了唯一地标识一行之外,再没有其他的用途了,所以也就没有理由去对它更新。如果主键需要更新,则说明主键应对用户无意义的原则被违反了。
3、主键不应包含动态变化的数据,如时间戳、创建时间列、修改时间列等。
4、主键应当由计算机自动生成。如果由人来对主键的创建进行干预,就会使它带有除了唯一标识一行以外的意义。一旦越过这个界限,就可能产生人为修改主键的动机。
参考资料来源:百度百科-主关键字
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)