create table d(id numeric(1), code varchar(2))
После того, как я создаю таблицу выше, как добавить составной первичный ключ в оба поля, а также внешний ключ?Как добавить составной первичный ключ в таблицу
create table d(id numeric(1), code varchar(2))
После того, как я создаю таблицу выше, как добавить составной первичный ключ в оба поля, а также внешний ключ?Как добавить составной первичный ключ в таблицу
В Oracle, вы можете сделать это:
create table D (
ID numeric(1),
CODE varchar(2),
constraint PK_D primary key (ID, CODE)
);
alter table d add constraint pkc_Name primary key (id, code)
должны это сделать. Существует множество опций базового первичного ключа/индекса в зависимости от того, с какой БД вы работаете.
В 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 + Click) и установите первичный ключ.
im довольно уверен, что удаляет другие ключевые ограничения – thanatorr
создать таблицу Tr (ID числовой (1), бен VARCHAR (10)) альтер таблицы тра добавить ограничение pk_id первичный ключ (идентификатор, бен) его не работали, почему – Domnic
Сэра его работал спасибо u – Domnic
@simonn: просто любопытно, не может ch eck прямо сейчас, но является NOT NULL для неявных столбцов или вам нужно добавить их в определения столбцов? – Thilo