【发布时间】:2020-05-06 10:39:25
【问题描述】:
假设我有 2 个具有以下属性的表。
表 1(客户):id (PRIMARY)、customer (UNIQUE)、totalspent
表 2(收据):id、成本
我需要在客户或收据上创建哪些索引,以便在从表中删除客户时,通过 id 与他绑定的所有收据也会被删除?
我将receipts.id 设置为主键,但是在删除客户的条目时,它们不会从收据中删除。我应该让customers.id 成为引用receipts.id 的外键吗?主键可以是外键吗?
【问题讨论】:
-
收据需要一个客户ID列(外键)。
-
那么我是否将receipts.customerid 标记为引用customers.id 的外键?我不需要在customers.id 上创建任何额外的索引?
-
(
FOREIGN KEY和INDEX是不同的东西。)
标签: mysql sql database database-design