添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

composite primary key foreign reference sql server

在 SQL Server 中,当一个表的主键由多个列组成时,这个主键被称为复合主键(Composite Primary Key)。如果另一个表想要引用这个表,就需要使用这个复合主键作为外键(Foreign Key)来建立关联关系。

建立外键引用时,需要在另一个表中创建一个列或多个列,用来存储引用复合主键的每个组成部分。例如,如果表 A 的主键是由列 column1 和 column2 组成的,那么在表 B 中创建外键时,需要创建一个列或多个列,用来存储 column1 和 column2 的值。

下面是一个示例 SQL 语句,用来创建一个外键引用复合主键:

CREATE TABLE TableA
    column1 INT NOT NULL,
    column2 INT NOT NULL,
    column3 VARCHAR(50),
    CONSTRAINT PK_TableA PRIMARY KEY (column1, column2)
CREATE TABLE TableB
    column4 INT NOT NULL,
    column5 INT NOT NULL,
    column6 VARCHAR(50),
    TableA_column1 INT NOT NULL,
    TableA_column2 INT NOT NULL,
    CONSTRAINT FK_TableB_TableA FOREIGN KEY (TableA_column1, TableA_column2)
        REFERENCES TableA (column1, column2)

在上面的示例中,TableA 表的主键是由 column1 和 column2 两列组成的。在 TableB 表中,创建了两列 TableA_column1 和 TableA_column2,用来存储引用 TableA 表主键的两个组成部分。然后,使用 FOREIGN KEY 关键字来创建外键,并指定它引用了 TableA 表的主键。

希望这个回答对您有帮助,如果您还有其他问题,请继续提问。

  •