如何从外键插入多个数据?

问题描述

我试图将表中的数据与外键中的数据一起插入。例如,在客户注册之后。数据(包括 id、姓名、联系人)将被插入到客户表中,然后客户 ID 也将被插入到二维码表中,因为客户 ID 是一个外键。现在我的问题是,如何在二维码表中包含“姓名”和“联系人”?谁能建议我应该使用什么?

解决方法

评论太长了。

一般来说,你不会。您只需在两个表中包含 CustomerId。当时间到了,您需要姓名或其他信息时,您可以使用 join:

select qr.*,c.*    -- or whatever columns you want
from qr join
     customers c
     on qr.customerid = c.customerid;

通常,您希望避免在不同的表中存储相同信息的多个副本——这会导致数据库膨胀并难以维护。

请注意,以上是一般规则。在某些情况下,您可能希望在这种情况下复制数据(例如,缓慢变化的维度),但作为一般规则,数据属性应仅存储在一个表中,join 用于合并来自不同的表。