mysql 外键那些事

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就好

你可能感兴趣的:(mysql 外键那些事)