У меня есть 3 разные таблицы на MySQL:
- Клиенты
- Авиабилеты
- Заказы
Вкл. Clients
У меня
- Имя
- Фамилия
- ID
- Номер рейса (из таблицы рейсов)
- Номер бронирования (из таблицы «Бронирование»)
Вкл Flights
У меня
- ID (от клиентов)
- Номер рейса
- Компания
- Дата
Вкл. Bookings
У меня
- ID (от клиентов)
- Номер бронирования
- Hotel
- Дата заезда
- Дата выезда
Я хочу после создания Клиента сделать ссылку на то, что я создаю в таблицах «Авиабилеты» и «Заказы», на Клиентов.
Итак, у каждого Клиента есть идентификатор, который также вставляется в таблицы «Авиабилеты и бронирование». И мне нужно связать эту строку Clients.ID с ее строкой на рейсах и бронировании.
Возможно ли это с иностранными ключами?
Я пытался сделать Clients.ID
Первичным ключом, а Flights.ID
и Booking.ID
Внешним ключом, но затем, когда я использую INSERT INTO
, я получаю:
# 1452 - Невозможно добавить или обновить дочернюю строку: ограничение внешнего ключа не выполняется
SQL-запрос был:
INSERT INTO clients (name, lastname, id) VALUES ('Jane', 'DOE', 123123123);
SQL-запрос для создания внешних ключей был:
ALTER TABLE clients ADD CONSTRAINT fk_flightid FOREIGN KEY (id) REFERENCES flights(id);` and
ALTER TABLE clients ADD CONSTRAINT fk_bookingid FOREIGN KEY (id) REFERENCES bookings(id);`
Это мой первый раз, когда я пишу MySQL, извините, если мое объяснение запутано.