Внешний ключ 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));