- 在SQL中主键是唯一标示表中每一行的列或一组列。
- SQL可以使用PRIMARY KEY约束为表创建主键。
- 如果主键只包含一列,则可以将PRIMARY KEY约束定义为列约束 。
- 每个表只能有一个主键。
- 参与主键的所有列必须定义为NOT NULL。
- 在SQL中如果没有为这些列指定NOT NULL约束,SQL Server会自动为所有主键设置NOT NOLL 约束。
- 在创建主键时,SQL Server还会自动创建唯一的聚簇(如果指定,则为非聚集索引)。
- 以下实例创建一个包含主键的表,该主键包含一列:
在sales.activities表中,activity_id列是主键列。
Activity_id列包含唯一值。
IDENTITY属性用于activiy_id列以自动生成唯一的整数值。
- 在以下语句中创建一个名为sales.particiopants的新表,其主键由两列组成:
在这个示例中,activity_id或customer_id列中的值可以重复,但两列中的每个值组合必须是唯一。
- 在SQL中,通常情况下,表始终在创建是定义的主键。但是,有时,现有表可能由于某种原因下而没有定义主键。在这种情况下,可以使用ALTER TABLE语句向表中添加主键。请看以下实例:
如果要将event_id列为主键,请使用ALTER TABLE语句;