>  기사  >  데이터 베이스  >  mysql外键的建立与类型_MySQL

mysql外键的建立与类型_MySQL

WBOY
WBOY원래의
2016-06-01 13:12:062340검색

Mysql外键

之前看过一本“mysql必知必会”的入门书籍,我有选择性的读过两遍,感觉比较不错,例子很多并且简单易懂,对于mysql入门来说挺适合的,不过缺点就是没有重要的索引部分,在此先推荐一下。 

进入正题,如果想在两个表中间里连结关系(即外键),则需要先选定一个父表、一个子表,以及确定这两个表中的关联项,这样建立连结后当父表的连结项变更时,子表的相应项也会随着变更(也可设置成被连结后的值无法变更,下面会详细说)。

例如:

我建立了两个表,父表是productinfo,子表是product,表结构如下图

父表productinfo,为了简便只设置了一个值,就是将被关联的项,注意关联项与被关联项都一定要是key。


子表product,关联项和被关联项的各类参数(名称、类型、长度)都应该是一样的。


在navicat中关联的方式:


sql语句形式为:ALTER TABLE `product` ADD CONSTRAINT `proid` FOREIGN KEY (`proid`) REFERENCES `productinfo` (`proid`) ON DELETE CASCADE ON UPDATE CASCADE;


其中:四中关联方式分别为

cascade

父表上有修改时,子表同步修改

restrict

如果进行了关联,那么不允许父表相应项进行修改

no action

如果进行了关联,那么不允许父表相应项进行修改

set null

若父表上的项修改后,子表上的相应项设置为null

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.