定义外键时有哪些参照动作?它们分别代表什么意思?
时间: 2024-06-13 11:05:24 浏览: 10
定义外键时有以下四种参照动作:
1. CASCADE:级联操作,当父表中的记录被删除或更新时,子表中的相关记录也会被删除或更新。
2. SET NULL:设置为空值,当父表中的记录被删除或更新时,子表中的相关记录的外键值会被设置为空值。
3. RESTRICT:限制操作,当父表中的记录被删除或更新时,如果子表中还有相关记录,则不允许删除或更新父表中的记录。
4. NO ACTION:不执行操作,当父表中的记录被删除或更新时,不执行任何操作,但是会抛出一个错误。
相关问题
删除和更新外键的参数有哪些?分别都是什么含义?
删除外键有两种方式:CASCADE和SET NULL。CASCADE表示删除主表记录时,相关联的从表记录也会被自动删除。SET NULL表示删除主表记录时,相关联的从表记录中的外键值会被设置为NULL。更新外键也有两种方式:CASCADE和SET NULL。CASCADE表示主表记录的更新会同步更新相关的从表记录。SET NULL表示主表记录的更新会将相关从表记录的外键值设置为NULL。
什么是外键?MySQL如何支持外键?
外键是在一个表中引用另一个表中的主键,用于保证数据的完整性和一致性。
MySQL支持外键,但是需要在创建表时指定外键约束,具体语法如下:
1. 创建表时指定外键约束
```
CREATE TABLE 表名 (
列1 数据类型,
列2 数据类型,
...
FOREIGN KEY (外键列) REFERENCES 主表名(主键列)
);
```
其中,外键列指的是当前表中引用主表的列,主表名和主键列则是被引用的表和列。
例如,创建一个订单表和一个商品表,订单表中的商品ID列引用商品表中的ID列作为外键,可以使用以下语句:
```
CREATE TABLE 订单 (
ID INT(11) NOT NULL PRIMARY KEY,
商品ID INT(11),
...
FOREIGN KEY (商品ID) REFERENCES 商品(ID)
);
CREATE TABLE 商品 (
ID INT(11) NOT NULL PRIMARY KEY,
商品名称 VARCHAR(50),
...
);
```
2. 修改表结构时添加外键约束
如果已经创建的表需要添加外键约束,可以使用ALTER TABLE语句,具体语法如下:
```
ALTER TABLE 表名 ADD CONSTRAINT 外键名称
FOREIGN KEY (外键列) REFERENCES 主表名(主键列);
```
例如,给已经存在的订单表添加商品ID列的外键约束,可以使用以下语句:
```
ALTER TABLE 订单 ADD CONSTRAINT FK_商品ID
FOREIGN KEY (商品ID) REFERENCES 商品(ID);
```
其中,FK_商品ID是外键名称,可以自定义。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![ppt](https://img-home.csdnimg.cn/images/20210720083527.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)