mysql foreignkey
Posted 逆欢
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql foreignkey相关的知识,希望对你有一定的参考价值。
1.foreign key
当数据足够大的时候,字段会出现大量重复,
解决:额外定义一个大量冗余的字段表,(有id) 一张是关联表(从表),一张是被关联表(主表)
进行关联的时候 ,先创建被关联表, 现在被关联表添加,再是关联表
constraint fk_dep foreign key(dep_id) references dep(id)
在创建关联表 但是再修改出现问题是先删除这个部门的员工才能删除这个部门
关联表升级:
on delete cascade #同步删除 on update cascade #同步更新
就可以同步删除了
2.
因为有foreign key 的约束 ,使表有了三种关系
多对一 书 出版商 (一个出版商可以出版多种书 而一本书只能由一个出版商出,因为版权)
先创建出版商,在创建书 (含有
constraint fk_book_press foreign key(press_id) references press(id) on delete cascade on update cascade );
)
多对多 书 作者 (作者可以写多本书,书也可由多个作者)
这样是无法创建foreign ke关系的,可以创建第三张表存放
1.创建书 和 作者 2.创建出一个表明关系的表 3.放入作者和作者的作品.4.在公共表放上数据(
insert into author2book(author_id,book_id) values
)
一对一
在其中一个加上unique
以上是关于mysql foreignkey的主要内容,如果未能解决你的问题,请参考以下文章
理解 / mySQL 又名欺骗 Django 中的 ForeignKey 关系