Как исправить эту ошибку 3734: Не удалось добавить ограничение внешнего ключа в MySQL WorkBench?

Я работаю над MySQL WorkBench и все время получаю код ошибки 3734: не удалось добавить ограничение внешнего ключа. Что означает эта ошибка и могу ли я исправить эту ошибку? Я все время получаю ошибку с таблицей бронирования вилл.

     create table Reservation
(
ReservationID char(5) primary key,
ReservationDate date,
CustomerID char(5),
foreign key (CustomerID) references Customer (CustomerID)
);

create table Villa
(
VillaID char(5) primary key,
VillaName varchar(40),
VillaCostPerDay int(3), 
VillaTypeID char(5),
foreign key (VillaTypeID) references VillaType (VillaTypeID)
);

``create table VillaReservation
    (
    VillaReservationID char(5),
    VillaID char(5),
    DateFrom datetime,
    DateTo datetime,
    primary key (VillaReservationID, VillaID),
    foreign key (VillaReservationID) references Reservation(VillaReservationID),
    foreign key (VillaID) references Villa(VillaID)
    );

1 ответ

Вы ссылаетесь не на тот столбец references Reservation(VillaReservationID)Ты написал refer Резервирование, но нет названия столбца VillaReservationID

primary key (VillaReservationID, VillaID),
foreign key (VillaReservationID) references Reservation(VillaReservationID)

вы могли подумать о references Reservation(ReservationID)который:

primary key (VillaReservationID, VillaID),
foreign key (VillaReservationID) references Reservation(ReservationID)
Другие вопросы по тегам