Можем ли мы использовать имя ограничения первичного ключа в качестве ссылки на внешний ключ? - PullRequest
1 голос
/ 25 мая 2020

Например, я создаю две таблицы, как показано ниже:

create table A (
  department_id int,
  college_id int,
  constraint Pk_name primary key(department_id,college_id)
);

create table B (
  student_name varchar(75),
  department_id int,
  college_id int,
  foreign key(department_id,college_id) references A(Pk_name)
);

Могу я написать так?

1 Ответ

1 голос
/ 25 мая 2020

Я так не думаю, потому что РСУБД никак не может узнать, является ли PK_name столбцом или именем ограничения, поэтому я предлагаю вам придерживаться обычного:

create table A ( department_id int, college_id int, constraint Pk_name primary key(department_id,college_id) );

create table B ( student_name varchar(75), department_id int, college_id int, foreign key(department_id,college_id) references A(department_id,college_id) );

Я обновлю ответ, как только найду другой ответ.

...