Я пытаюсь создать основное внешнее ограничение, однако я получаю синтаксическую ошибку. #1005 - Can't create table 'my_database'.'#sql-334f_952bc' (errno: 150 "Foreign key constraint is incorrectly formed")
Ошибка (1005) при попытке создать внешний ключ
Сначала создаю таблицы, а затем использую метод «alter table» для создания внешнего ограничения.
Создание таблиц:
CREATE TABLE `tbl_flights` (
`flight_id` int(11) NOT NULL AUTO_INCREMENT
`aircraft_id` int(11) NOT NULL
`date` date NOT NULL
`auth_by` varchar(255) NOT NULL
`auth_duration` time NOT NULL
PRIMARY KEY (`flight_id`)
)
;
CREATE TABLE `tbl_aircraft` (
`aircraft_id` int(11) NOT NULL AUTO_INCREMENT
`registration` char(6) NOT NULL
`insurance` date NOT NULL
`awrc` date NOT NULL
PRIMARY KEY (`aircraft_id`)
)
;
Создание иностранных ключ/ограничения:
ALTER TABLE `tbl_aircraft`
ADD CONSTRAINT `fk_aircraft_id` FOREIGN KEY (`aircraft_id`)
REFERENCES `my_database`.`tbl_flights` (`aircraft_id`)
ON DELETE RESTRICT ON UPDATE CASCADE ;
Если кто-то может определить проблему здесь я бы очень признателен.
Спасибо, я добавил ';' и я получаю другую ошибку: errno: 150 «Внешнее ограничение ключа неверно сформировано» –
хорошо это означает, что ваше сообщение об ошибке в решении .. + – scaisEdge
. Есть еще проблема. Я обновил вопрос. –