У меня есть две таблицы, books
и borrowing requests
- я делаю учебный проект для изучения MySQL.Пытаясь связать эти две таблицы, используя FK, и постоянно получаю сообщение об ошибке:
"SQLSTATE[HY000]: General error: 1215 Cannot add foreign key constraint")
Помимо документации, я искал практически все связанные с этим темы здесь, на SO, однако безуспешно.Типы одинаковы, столбцы и без знака, один первичный ключ и т. Д. - насколько я понимаю, я соблюдал все положения.Но это не работает!Чего мне не хватает?
Вот две таблицы и запрос на добавление fk:
CREATE TABLE `books` (
`book_id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
`book_title` VARCHAR(100) NOT NULL,
`author_id` INT(11) NOT NULL,
`book_condition` INT(5) NOT NULL
) ENGINE=InnoDB AUTO_INCREMENT=23453 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci
CREATE TABLE `borrowing_requests` (
`request_id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
`user_id` INT(11) NOT NULL,
`book_id` INT(11) UNSIGNED NOT NULL,
`due_date` VARCHAR(55) NOT NULL
) ENGINE=InnoDB AUTO_INCREMENT=23453 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
Запрос FK:
ALTER TABLE `books` ADD CONSTRAINT books_fk FOREIGN KEY (`book_id`)
REFERENCES `borrowing_requests`(`book_id`)
ON DELETE NO ACTION ON UPDATE NO ACTION