父级 主键被其它表作为外键 子级表示把其它表的主键作为自己的外键
RESTRICT、NO ACTION、SET NULL 和 CASCADE
RESTRICT、NO ACTION表示子级有数据改变是父级数据不更新
SET NULL 表示父级在更新或者删除时将子记录列的值设为null
ON DELETE CASCADE 表示父记录删除时子记录对应的列数据也删除
ON UPDATE CASCADE 表示父记录更新时子记录对应的列数据也更新
1:在创建表的时候就对外键定义成级联删除或者更新
CREATE TABLE order (
id int(4) NOT NULL AUTO_INCREMENT,
PRIMARY KEY (id),
CONSTRAINT 约束名(可随意,不可重复) FOREIGN KEY (外键名在本表中列名) REFERENCES 外键表名 (外键表列名) ON DELETE CASCADE ON UPDATE CASCADE
这样把父级删除后子级的数据也会删除
2:这种方法是最笨的方法 也就是一条一条把把父级作为外键的子记录的数据 写sql一条一条的删除 通过父级的id 去删除
例如: delete from order where "外键名在本表中列名" =user.id;
本文转自:http://blog.youkuaiyun.com/layman1024/article/details/72885287
本文详细介绍了在数据库设计中如何使用RESTRICT、NOACTION、SETNULL和CASCADE等选项进行外键级联删除和更新操作。并通过具体示例展示了如何在创建表时设置这些级联操作,以及手动删除涉及外键的记录。
1459

被折叠的 条评论
为什么被折叠?



