sqlserver 如何建主键
时间: 2024-08-29 21:00:39 浏览: 48
在 SQL Server 中,建立主键(Primary Key)是确保表中数据唯一性的关键步骤。主键通常是自动递增的整数,但也可以是用户自定义的列。以下是创建主键的基本步骤:
1. **选择列**:首先确定哪一列或哪些列将作为主键,通常选择有唯一标识意义的字段,如 ID 列。
```sql
SELECT column_name
FROM information_schema.columns
WHERE table_name = 'your_table_name';
```
2. **创建索引**:在决定的列上创建一个非聚簇索引(默认就是主键),这会加快查询速度。如果表很大或对性能有特殊需求,可以选择聚簇索引,但这通常不需要,因为默认情况下的唯一性已经足够。
```sql
ALTER TABLE your_table_name ADD CONSTRAINT PK_your_table PRIMARY KEY (column_to_key);
```
或
```sql
CREATE UNIQUE INDEX PK_your_table ON your_table_name (column_to_key);
```
3. **禁止空值**:如果你想让某个列不允许为空值,可以在定义时加上 NOT NULL 约束。
```sql
ALTER TABLE your_table_name ALTER COLUMN column_to_key NVARCHAR(50) NOT NULL;
```
4. **唯一约束**:如果你不想创建物理主键,但希望数据保持唯一,可以添加 UNIQUE 约束,但这个约束不会自动删除重复项。
```sql
ALTER TABLE your_table_name ADD CONSTRAINT UK_your_table UNIQUE (column_to_key);
```
5. **启用触发器**:为了保证数据一致性,有时会在插入或更新记录时启用级联删除或级联更新的触发器,但这不是必需的。
注意:主键列不能包含NULL值,且对于每个表只能有一个主键。
阅读全文