【问题标题】:about creating PFK relationships from table that have PK from 2 column关于从具有 2 列 PK 的表创建 PFK 关系
【发布时间】:2018-04-08 17:39:56
【问题描述】:

如何创建一个 fk 列到由 2 列组成的 pk 列 我可以做这个 ? 它的 (isa) 关系 但 pk 来自 2 列 在 ERD 和 DSD 中更容易理解我想问的问题

我正在尝试根据 Product 表中的 pk 列在 PC 表中创建该 pfk,但我在 Product 表中有 2 列 pk 我正在尝试在 SQL 中创建它

【问题讨论】:

    标签: sql relationship


    【解决方案1】:

    在 SQL 中,您可以使用以下方法创建两个列的外部:

    alter table t add constraint fk_t_col1_col1
        foreign key (col1, col2) references othertable(col1, col2);
    

    我不能 100% 确定这会回答您的问题,但它被标记为 SQL。

    注意:我通常建议使用单列自动递增的主键。这无疑简化了外键关系。

    【讨论】:

    • 我需要创建 1 fk col 到 1 pk col 但 pk 来自 2 col
    【解决方案2】:

    你可以这样做:

    create table Product
    (
    maker nvarchar(50) NOT NULL,
    model int NOT NULL,
    type1 nvarchar(50),
    
    constraint PK_Product Primary Key (maker,model)
    )
    

    它对我有用,但我不知道如何创建 PFK,如果你能提供帮助,我将不胜感激 :)

    【讨论】:

    • 在另一个表中,您需要创建一个从第一个表“父表”中的 pk 引用的主键,所以您创建一个来自另一个表的 fk 的 pk,但问题是 2 列我在父表中有 pk,所以我的解决方案是使我需要在子表中使用它的 pk 列是唯一的,所以我可以毫无问题地做到这一点,我希望你能理解我,否则我会为你编写代码跨度>
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-05-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-28
    • 1970-01-01
    相关资源
    最近更新 更多