繁体   English   中英

如何将复合主键添加到表

[英]How to add composite primary key to table

create table d(id numeric(1), code varchar(2))

创建上表后,如何在两个字段和外键上添加复合主键?

alter table d add constraint pkc_Name primary key (id, code)

应该这样做。 基本主键/索引有很多选项,具体取决于您使用的DB。

在Oracle中,您可以这样做:

create table D (
  ID numeric(1),
  CODE varchar(2),
  constraint PK_D primary key (ID, CODE)
);

Chris提供的ALTER TABLE语句应该可以工作,但首先需要声明列NOT NULL 主键的所有部分都必须为NOT NULL

您不需要先创建表,然后在后续步骤中添加密钥。 您可以在创建表时添加主键和外键:

此示例假定存在我们希望使用外键引用的表( Codes )。

CREATE TABLE d (
id [numeric](1),
code [varchar](2),
PRIMARY KEY (id, code),
CONSTRAINT fk_d_codes FOREIGN KEY (code) REFERENCES Codes (code)
)

如果您没有我们可以引用的表,请添加一个这样的表,以便该示例可以工作:

CREATE TABLE Codes (
    Code [varchar](2) PRIMARY KEY   
    )

注意:在创建外键之前,必须有一个要引用的表。

如果使用Sql Server Management Studio Designer,只需选择两行(Shift +单击)和设置主键。

在此输入图像描述

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM