外键约束的参照操作

1, CASCADE : 从父表删除或更新且自动删除或更新子表中匹配的行

2, SET NULL : 从父表删除或更新行,并设置子表中的外键列为NULL.如果使用该选项,必须保证子表列表没有指定 NOT NULL

3, RESTRICT : 拒接对父表的删除或更新操作.

4, NO ACTION : 标准SQL的关键字,在MySQL中与RESTRICT相同

 

以下是 CASCADE的例子

先创建一张表,并使用 删除后的CASCADE的操作

CREATE TABLE users1 (
id SMALLINT UNSIGNED PRIMARY KEY AUTO_INCREMENT,
username VARCHAR(20) NOT NULL,
pid SMALLINT(5) UNSIGNED DEFAULT NULL,
FOREIGN KEY (pid) REFERENCES provinces (id) ON DELETE CASCADE
)

分别想两张表 加入数据后,

进行删除父表 provinces 的 一条数据

发现 users1的数据 也都没有了 这就是 CASADE的操作

 

 PS: 实际开发中 很少会用到 这种物理的外键约束,一般使用逻辑外键约束

 

posted on 2019-11-06 16:46  呼哈!!!  阅读(285)  评论(0)    收藏  举报

导航