mysql外键详解
一、外键简介 外键表示一个表中的一个字段被另一个表中的一个字段引用。外键对相关表中的数据造成了限制,使MySQL能够保持参照完整性。 下面来看看中的以下数据库中两个表: customers 和`orders``的ER图。 上图中有两张表: customers 和 orders 。每个客户有零个或多个订单,每个订单只属于一个客户。 customers 表和 orders 表之间的关系是一对多的,它是由 customerNumber 字段指定在 orders 表中建立外键(引用 customers 表的 customerNumber 字段)。 orders 表中的 customerNumber 字段与 customers 表中的 customerNumber 主键字段相关。 customers 表称为父表或引用表, orders 表称为子表或引用表。 表可以有多个外键,子表中的每个外键可能引用不同的父表。 子表中的行必须包含父表中存在的值,例如, orders 表中的每个订单记录必须在 customers 表中存在 customerNumber 。 因此,多个订单可以指同一个客户,因此这种关系称为一个(客户)到许多(订单)或一对多。 有时,子表和父表是一样的,外键返回到表的主键。 reportTo 列是一个引用 employeeNumber 列的外键, employeeNumber