MySQL 的级联删除

PHPABC WordPress 966 次浏览 , 没有评论

要实现级联删除效果, DDL 语句要注意:

engine=Innodb, 必须使用InnoDB引擎
外键必须建立索引.(如果没有创建, 系统会自动为你创建.)
约束条件要写成表级约束. referential action 设置为 cascade (列级约束好像不起作用)

范例 (student 表为 school_class 表的一个子表)

create table students(
	id bigint not null primary key auto_increment,
	sid varchar(20) not null,
	name varchar(20) not null,
	age tinyint unsigned not null,
	gender varchar(10) not null,
	cid bigint not null,
	index(cid),
	constraint foreign key(cid) references school_class(id) on delete cascade
) engine=Innodb, charset=utf8;

发表评论

电子邮件地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据

Go