目录
1. 主键所在表的结构
通常情况下,一个仓库里可以有多个主键
我们看一下表的结构。
2.设置一个新表并与主键关联
创建了一张新的表temp,并于主键所在的表发生联系,设置外键为id,来自gays里的主键。
后期添加外键
alter table temp add foreign key (id) references gays (id);
删除外键
alter table temp drop foreign key xxx;
xxx怎末看
show create table temp;
3.外键的置空,级联操作。
置空:原本的那个主键的某一条信息,不在了;与其相关的外键应该置成null。
级联:原本的那个主键的某一条信息,不在了;与其相关的外键也被删掉。
置空:主表改了,副表没了。
foreign key(id) references gays(id) on delete set null;
级联:主表改了,副表也改了。
foreign key(id) references gays(id) on update cascade;
重新设置一个副表:
create table hebei(
hebei_id int(3),
money decimal(5, 2),
id int(11),
foreign key(id) references gays(id) on delete set null on update cascade);
给副表一些数据。。
然后对主表进行一些操作:
把主表id是4的人的id由4换成3;
update gays set id=3 where id=4;
改之前:gays
改之后:
我们再来看看副表有什么变化:
改之前:
改之后:
综上:只是改变了主表,副表也会跟着改变。
删除也是同理:
delete from gays where id=2;
把id是2的删除。。
副表的变化: