在SQL中,复合主键(也称为多列主键)是指一个表中的多个列组合在一起作为主键。这可以通过在创建表时指定多个列作为主键来实现。以下是一个使用SQL创建具有复合主键的表的示例:
```sql
CREATE TABLE example_table (
column1 INT,
column2 VARCHAR(100),
column3 DATE,
PRIMARY KEY (column1, column2)
);
```
在这个例子中,`example_table` 表有三个列:`column1`、`column2` 和 `column3`。这个表的主键是 `column1` 和 `column2` 的组合,这意味着这两个列必须同时具有唯一的值,以确保表中的每行都是唯一的。
请注意以下几点:
1. 复合主键中的列不能有重复的值组合。
2. 复合主键的列不能为NULL。
3. 复合主键的列可以单独具有NULL值,但组合起来不能有重复。
如果你想要在已经存在的表中添加复合主键,可以使用以下SQL语句:
```sql
ALTER TABLE example_table
ADD CONSTRAINT pk_example_table PRIMARY KEY (column1, column2);
```
这条语句会在 `example_table` 表上添加一个名为 `pk_example_table` 的复合主键约束,约束条件是 `column1` 和 `column2` 的组合。