FOREIGN KEYp: 外键约束,保持数据一致性,完整性。实现一对一或一对多关系。
外键约束的要求:
1,父表和子表必须使用相同的存储引擎,而且禁止使用临时表。(父表:子表所参照的表子表:具有外键列的表)
2,数据表的存储引擎只能为InnoDB。
3.外键列和参照列必须具有相似的数据类型。其中数字的长度或是否有符号位必须相同;而字符的长度则可以不同。( 外键列:曾经加过FOREIGN KEYp的列,参照列:外键列所参照的列称为参照列)
4,外键列和参展列必须创建索引。如果外键列不存在索引的话,mysql将自动创建索引 。( 如果参照列不存在索引的话,mysql不会自动创建索引。但如果参照列为主键的话,则会自动创建索引。主键在创建的同时会自动创建索引,所以参照列其实已经有了索引。而外键列上没有创建索引,mysql则会自动创建索引。)
MySQL外键例子:
创建
provinces表
存储引擎是否是InnoDB
创建一个子表users
这样一个简单的例子就完成了。
其中users表为子表,(有外键表就称为子表),子表所参照的表provinces表为父表。
users表中的pid称为外键列,provinces表中的id称为参照列
查看是否创建索引
这是查看provinces表是否创建索引,想要查看users表也是同理,把provinces改为users就好