表的主键
添加或更改表的主键:主键是具有整个表中唯一值的一个字段或一组字段。键值可用于引用整条记录,因为每条记录都具有不同的键值。每个表只能有一个主键。
若要设置表的主键,请在设计视图中打开表。选择要使用的字段,然后在功能区上单击“主键”。
什么是好的主键?
一个好的候选主键具有以下几个特征:
1、唯一标识每一行
2、从不为空或为 Null,即它始终包含一个值
3、所包含的值几乎不(理想情况下永不)改变
如果无法识别好的键,则创建“自动编号”字段用作键。“自动编号”字段在首次保存每条记录时,会自动为自己生成一个值。因此,“自动编号”字段满足一个好的主键的所有三个特征。
较差主键的示例:
缺少一个或多个好的候选主键特征的任何字段对于主键都是糟糕的选择。下面是会让“联系人”表的主键成为较差主键的几个字段示例,以及成为糟糕选择的原因。
复合键:将多个字段组合在一起作为主键使用
若要设置表的主键,请在设计视图中打开表。选择要使用的字段,然后在功能区上单击“主键”。
什么是好的主键?
一个好的候选主键具有以下几个特征:
1、唯一标识每一行
2、从不为空或为 Null,即它始终包含一个值
3、所包含的值几乎不(理想情况下永不)改变
如果无法识别好的键,则创建“自动编号”字段用作键。“自动编号”字段在首次保存每条记录时,会自动为自己生成一个值。因此,“自动编号”字段满足一个好的主键的所有三个特征。
较差主键的示例:
缺少一个或多个好的候选主键特征的任何字段对于主键都是糟糕的选择。下面是会让“联系人”表的主键成为较差主键的几个字段示例,以及成为糟糕选择的原因。
复合键:将多个字段组合在一起作为主键使用
在某些情况下,您想要使用表中的两个或多个字段作为主键。
MySQL / SQL Server / Oracle / MS Access:
ALTER TABLE Persons
ADD PRIMARY KEY (Id_P)
如果需要命名 PRIMARY KEY 约束,以及为多个列定义 PRIMARY KEY 约束,请使用下面的 SQL 语法:
ALTER TABLE Persons
ADD CONSTRAINT pk_PersonID PRIMARY KEY (Id_P,LastName)
注释:如果您使用
ALTER TABLE 语句添加主键,必须把主键列声明为不包含 NULL 值(在表首次创建时)。