Внешний ключ SQL

Если кто-то может помочь мне с этим сценарием, я был бы очень признателен.

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

Сообщение 1776, уровень 16, состояние 0, строка 3 В ссылочной таблице "Расписание" отсутствуют первичные ключи или ключи-кандидаты, которые соответствуют списку ссылочных столбцов во внешнем ключе "FK__Personal_Trainer__38996AB5". Сообщение 1750, уровень 16, состояние 0, строка 3 Не удалось создать ограничение или индекс. Смотрите предыдущие ошибки.

Вот скрипт CREATE TABLE для обеих таблиц. Я пытаюсь использовать внешний ключ в личном тренере для ссылки на таблицу в расписании. FitnessWebApp это имя базы данных.

use FitnessWebApp

create table Schedule
(
    day char(20),
    time char(20),
    name char(30),
    gymName char(30)
    primary key (name, gymName, day, time)
);

use FitnessWebApp

create table Personal_Trainer
(
    name char(30),
    gymName char(30)
    primary key(name, gymName),
    foreign key (name, gymName) REFERENCES Schedule(name, gymName)
);

1 ответ

Попробуй это:

 create table Personal_Trainer (
   id int(10) not null,
   trainerName char(30), 
   primary key (id));

 create table gym (
   id int(10) not null,
   gymName char(30),
   primary key (id));

 create table Schedule (
   id int (10) not null,
   trainerId int(10), 
   gymId int(10),
   gymDay Date, 
   gymTime Datetime, 
   primary key (id),
   foreign key (trainerId) REFERENCES Personal_Trainer (id),
   foreign key (gymId) REFERENCES gym (id));
Другие вопросы по тегам