letehaha
@letehaha
Вникаю вo front-end

Ошибка при создании Foreign Key?

Хочу создать для таблицы "Номера гостинницы" (rooms) внешний ключ к таблице "Размер номера"(roomsize).
Создаю через админку phpmyadmin, сгенерированный SQL-запрос выглядит следующе:
ALTER TABLE `rooms` 
ADD CONSTRAINT `room_size` 
FOREIGN KEY (`id_room_size`) 
REFERENCES `hotel`.`roomsize`(`id_room_size`) 
ON DELETE RESTRICT 
ON UPDATE RESTRICT;


В итоге выдает вот такую ошибку:
bb118a0163474f65a0df9238563b959f.png
Как исправить эту ошибку?

UPDATE:
Также пробовал вот так связь сделать, но опять же ошибка492aab56e46f4fe089720e15e9385d22.png
  • Вопрос задан
  • 617 просмотров
Решения вопроса 2
@d-stream
Готовые решения - не подаю, но...
Для начала:
select * from rooms where rooms.id_room_size not in (
select id_room_size from hotel.roomsize
)
Ответ написан
@RidgeA
Возможно таблицы уже не консистентны, и та таблица, в которую добавляется ключ уже содержит id, которого нет в в таблице, на которую ссылается ключ
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы