需求很简单,一张表,3个字段
1.ID
2.NAME
3.PID(父ID)其中,ID为主键 PID为外键,关联本表主键,要求实现删除置空,更新级联建表语句如下:
create table test(
id int auto_increment,
name varchar(16) not null unique,
pid int,primary key(id),
foreign key(pid) references test(id)
on delete set null
on update cascade
);建表顺利,插入2条数据
1.1,name1,null
2.2,name1,1删除1后,2的PID被置空
但是,如果尝试更新1的ID的话,会被告知违反外键约束条件,但根据语法应该是没有什么问题的,请高人指点