MYSQL 外键约束总结
2019-03-20 本文已影响0人
Cuttstage
创建约束:保证数据的完整性和一致性。
按照功能划分分别有以下5类约束:NOT NULL(非空约束) 、PRIMARY KEY(主键约束)、UNIQUE KEY(唯一约束)、DEFAULT(默认约束)、FOREGIN(外键约束) KEY
外键约束主要是对父表以及子表而言的(通常是两个表)。
有以下几个必要条件:
1) 父表和子表必须使用相同的存储引擎,而且禁止使用临时表。具有外键列的表称为子表;子表所参照的表称为父表。
2) 数据表的存储引擎只能为 InnoDB。
3) 外键列和参照列必须具有相似的数据类型。其中数字的长度或是否有符号位必须相同; 而字符的长度则可以不同。加 FOREIGN KEY 关键字的列称为外键列;外键列所参照的列称为参照列。
4) 外键列和参照列必须创建索引。如果外键列不存在索引的话,MySQL 将自动创建索引。 如果参照列不存在索引的话,MySQL 不会自动创建索引。MySQL 会为主键自动创建索引。