如果存在 FOREIGN KEY 约束,MySQL 父表和子表之间会存在什么样的关系?

mysqlmysqli database

父表和子表之间的关系是一对多关系。可以通过名为"customer"和"orders"的两个表的示例来理解。这里,"customer"是父表,"orders"是子表。关系是一对多的,因为一个客户可以有多个订单。可以通过在两个表中插入值来演示,如下所示 −

mysql> Select * from Customer;

+----+---------+
| id | name    |
+----+---------+
| 1  | Gaurav  |
| 2  | Raman   |
| 3  | Harshit |
| 4  | Aarav   |
+----+---------+

4 rows in set (0.00 sec)

mysql> Select * from orders;

+----------+----------+------+
| order_id | product  | id   |
+----------+----------+------+
| 100      | Notebook | 1    |
| 110      | Pen      | 1    |
| 120      | Book     | 2    |
| 130      | Charts   | 2    |
+----------+----------+------+

4 rows in set (0.00 sec)

从上面的结果集可以清楚地看出,一个客户可以有多份订单,因为 id = 1 的客户有两个订单,id = 2 的客户也有两个订单。


相关文章