ホームページ  >  記事  >  データベース  >  mysql外键的建立与类型_MySQL

mysql外键的建立与类型_MySQL

WBOY
WBOYオリジナル
2016-06-01 13:12:062342ブラウズ

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 までご連絡ください。