Я смущен, почему ошибка 1215: не могу добавить ограничение внешнего ключа, которое происходит в моем коде. У кого-нибудь есть идеи?Ошибка 1215: Почему это происходит?
Первые четыре таблицы создают себя прекрасно, но ошибка возникает, когда я пытаюсь создать таблицу «Звезды». Я не уверен, что происходит не так, поскольку ссылки на них являются первичными ключами, поэтому они должны быть уникальными и не равными нулю. Кроме того, эти ключи существуют, поскольку предыдущие таблицы были созданы в первую очередь. Это может быть просто глупая ошибка, которую я сделал, но лучше иметь свежие глаза, глядя на нее, не так ли?
Эта база данных упрощена, потому что я делаю это для школьного задания.
create table MovieExec
(
execName varchar(40),
certNum numeric(30, 0),
address varchar(50),
networth real,
primary key(execName),
unique key(certNum)
);
create table Stud
(
studName varchar(30),
address varchar(50),
presCNum numeric(30, 0),
primary key(studName),
foreign key (presCNum) references MovieExec(certNum)
);
create table MovieStar(
starName varchar(30),
address varchar(50),
gender varchar(1),
birthdate date,
primary key(starName)
);
create table Movies
(
movieTitle varchar(30),
movieYear numeric(4,0),
length numeric(3,0),
genre varchar(30),
studioName varchar(30),
producerCNum numeric(30, 0),
primary key (movieTitle, movieYear),
foreign key (producerCNum) references MovieExec(certNum),
foreign key (studioName) references Stud(studName)
);
create table Stars
(
movieTitle varchar(30),
movieYear numeric(4,0),
starName varchar(30),
primary key (movieTitle, movieYear, starName),
foreign key (movieTitle) references Movies(movieTitle),
foreign key (movieYear) references Movies(movieYear),
foreign key (starName) references MovieStar(starName)
);
спасибо. Ваш ответ помог мне решить мою проблему. – Coliwack