#sql #sql-server #key
Вопрос:
я пытаюсь создать внешний ключ:
create table visit
(Num_vst int primary key,
date_vst date,
num_agnt int,
code_type int,
Constraint fk_vst foreign key (num_agnt,code_type)
references agente,type_de_verification (num_agnt,code_type);
в чем проблема?
Комментарии:
1. Похоже, у вас опечатка в названии связанной таблицы:
agente,type_de_verification
. Это должно быть одно имя таблицы. Может быть, в этой запятой прямо там должна быть точка.2. @TheImpaler там 2 стола! например, numa_agnt связан с agente, а code_type связан с type_de_verification! внешний ключ, связанный с 2 таблицами! я ошибаюсь?
3. Внешний ключ может ссылаться только на одну таблицу, и он также должен быть полным ключом.
Ответ №1:
Вы описываете две отдельные связи с двумя таблицами:
num_agnt связан с agente, а code_type связан с type_de_verification
В этом случае вы можете определить оба внешних ключа, как показано ниже:
create table visit (
Num_vst int primary key,
date_vst date,
num_agnt int,
code_type int,
constraint fk1 foreign key (num_agnt) references agente (num_agnt),
constraint fk2 foreign key (code_type)
references type_de_verification (code_type)
);