create table d(id numeric(1), code varchar(2))
上記の表を作成したら、両方のフィールドと外部キーに複合主キーを追加する方法はありますか?
回答:
回答№1の場合は25Oracleでは、これを行うことができます:
create table D (
ID numeric(1),
CODE varchar(2),
constraint PK_D primary key (ID, CODE)
);
回答№2 29
alter table d add constraint pkc_Name primary key (id, code)
それを行う必要があります。どのDBを使用しているかによって、基本的な主キー/索引にはたくさんのオプションがあります。
回答№3の6
ザ ALTER TABLE
Chrisが提示したステートメントは機能しますが、最初に列を宣言する必要があります NOT NULL
。主キーのすべての部分が必要です NOT NULL
.
回答№4の4
最初にテーブルを作成し、その後のステップでキーを追加する必要はありません。テーブルの作成中に主キーと外部キーの両方を追加できます:
この例では、テーブルの存在を前提としています(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
)
注意: 外部キーを作成する前に、参照するテーブルが必要です。
回答№5の2
SQL Server Management Studio Designerを使用している場合は、両方の行(Shift +クリック)とSet Primary Keyを選択するだけです。