Подтвердить что ты не робот

Как добавить составной первичный ключ в таблицу

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

После создания таблицы выше, как я могу добавить составной первичный ключ в оба поля, а также внешний ключ?

4b9b3361

Ответ 1

В Oracle вы можете сделать это:

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

Ответ 2

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

должен это сделать. Там много вариантов основного первичного ключа/индекса в зависимости от того, с какой БД вы работаете.

Ответ 3

Оператор ALTER TABLE, представленный Крисом, должен работать, но сначала вам нужно объявить столбцы NOT NULL. Все части первичного ключа должны быть NOT NULL.

Ответ 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

При использовании Sql Server Management Studio Designer просто выберите обе строки (Shift + Click) и Set Primary Key.

введите описание изображения здесь