mysql主键和外键的约束
时间: 2023-09-07 18:15:02 浏览: 116
MySQL 中主键和外键是两种重要的约束。
主键约束是用来确保一张表中每一行数据的唯一性。主键可以由一个或多个列组成,但每个表只能有一个主键。当一个列被定义为主键时,它不允许有空值(NULL),并且每个主键值必须唯一。
外键约束用于确保一个表中的数据引用另一个表中的数据。外键必须引用另一个表的主键。当一个表中的外键引用了另一个表的主键时,就会建立起两个表之间的关系。如果在外键表中删除或更新了某行数据,那么在主键表中相关的行也必须进行相应的操作,以保持数据的完整性。
在 MySQL 中,可以使用以下语句来创建主键和外键约束:
1. 创建主键约束:
```
CREATE TABLE table_name (
column1 datatype PRIMARY KEY,
column2 datatype,
column3 datatype,
...
);
```
2. 创建外键约束:
```
CREATE TABLE table_name1 (
column1 datatype,
column2 datatype,
column3 datatype,
...
CONSTRAINT fk_column
FOREIGN KEY (column1)
REFERENCES table_name2 (column2)
ON DELETE CASCADE
ON UPDATE CASCADE
);
```
其中,`fk_column` 是外键约束的名称,`column1` 是当前表中的外键列,`table_name2` 是被引用的主键表,`column2` 是被引用的主键列,`ON DELETE CASCADE` 表示在主键表中删除相关行时,对应的外键表中的行也会被删除,`ON UPDATE CASCADE` 表示在主键表中更新相关行时,对应的外键表中的行也会被更新。
阅读全文