MySQL —— FOREING KEY(外键约束)

来源:互联网 发布:录制视频软件手机 编辑:程序博客网 时间:2024/06/14 15:38

一、FOREING KEY(外键约束)的要求

1、保持数据一致性,完整性

2、实现一对一或一对多关系

3、父表和子表必须使用相同的存储引擎,并且禁止使用临时表

4、数据表的存储引擎只能为 InnoDB

5、外键列和参照列必须具有相似的数据类型。其中数字的长度和符号位必须相同,字符的长度可以不同

6、外键列和参照列必须创建索引。如果外键列不存在索引的话,MySQL将自动创建索引

7、语法

FOREING KEY(in_key_name) REFERENCES out_table_name(out_key_name)

二、FOREING KEY(外键约束)的参照操作

1、CASCADE:从父表删除或更新且且自动删除或更新子表中匹配的行

2、SET NULL:从父表删除或更新行,并设置子表中的外键列为 NULL。
(如果使用该选项,必须保证子表列没有指定 NOT NULL)

3、RESTRICT:拒绝对父表的删除或更新操作

4、NO ACTION:标准SQL的关键字,在MySQL中与 RESTRICT 相同

原创粉丝点击