父级 主键被其它表作为外键 子级表示把其它表的主键作为自己的外键
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