mysql联合做主键,主键外键怎么写
时间: 2024-06-22 20:03:05 浏览: 137
在MySQL中,联合主键(Composite Primary Key)是指两个或多个字段的组合作为表的唯一标识符,每个字段单独都不能构成唯一键。这种方式常用于表中的多个字段具有业务上的一致性和完整性。要设置联合主键,你可以在`CREATE TABLE`语句中指定这些字段,并使用`PRIMARY KEY`关键字:
```sql
CREATE TABLE table_name (
column1 datatype PRIMARY KEY,
column2 datatype,
... (other columns)
);
```
如果`column1`和`column2`组合在一起是唯一的,那么这两个字段就构成了联合主键。
对于主键和外键的关系,当你在一个表(称为子表或从表)中引用另一个表(称为父表或主表)的主键时,通常会创建一个外键。外键用来维护两个表之间的引用完整性和一致性。外键定义在一个`CREATE TABLE`语句中,使用`FOREIGN KEY`:
```sql
CREATE TABLE child_table (
child_column1 datatype,
child_column2 datatype,
parent_id datatype,
FOREIGN KEY (parent_id) REFERENCES parent_table(parent_column), -- 这里parent_id是子表的外键,parent_column是父表的主键
PRIMARY KEY (child_column1, child_column2) -- 如果是联合主键,这里也会包括外键字段
);
```
在这个例子中,`parent_id`字段是子表`child_table`的外键,它必须指向父表`parent_table`中的`parent_column`字段,确保数据的一致性。
阅读全文