外键约束的参照操作
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: 实际开发中 很少会用到 这种物理的外键约束,一般使用逻辑外键约束
浙公网安备 33010602011771号