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 关系

部分代码片段

mysql外键(FOREIGNKEY)使用介绍

如何在 MySQL 中有一个涉及 ForeignKey 字段的 unique_together 约束?

linux中怎么查看mysql数据库版本

mysql外键(FOREIGNKEY)介绍及使用注意事项