#sql
Вопрос:
Может кто-нибудь, пожалуйста, объяснить, почему этот SQL-запрос не работает для меня? Я получаю эту ошибку: неправильно сформировано ограничение внешнего ключа
DROP DATABASE IF EXISTS foodblog; CREATE DATABASE foodblog; USE foodblog; CREATE TABLE posts ( id int(11) AUTO_INCREMENT, titel varchar(255), datum DATETIME DEFAULT current_timestamp(), img_url varchar(255), inhoud text, auteur_id int(11), PRIMARY KEY (id), FOREIGN KEY (auteur_id) REFERENCES auteurs(id) ); CREATE TABLE auteurs ( id int(11) AUTO_INCREMENT, auteur varchar(255), PRIMARY KEY (id) );
Ответ №1:
Попробуйте изменить порядок запросов. Потому что при выполнении первого запроса таблица auteurs
будет недоступна. Вот исправленный код:
DROP DATABASE IF EXISTS foodblog; CREATE DATABASE foodblog; USE foodblog; CREATE TABLE auteurs ( id int(11) AUTO_INCREMENT, auteur varchar(255), PRIMARY KEY (id) ); CREATE TABLE posts ( id int(11) AUTO_INCREMENT, titel varchar(255), datum DATETIME DEFAULT current_timestamp(), img_url varchar(255), inhoud text, auteur_id int(11), PRIMARY KEY (id), FOREIGN KEY (auteur_id) REFERENCES auteurs(id) );