![](/img/trans.png)
[英]How to add a nullable column as part of primary composite key of the table?
[英]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
)
注意:在創建外鍵之前,必須有一個要引用的表。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.