Я новичок в SQL и прочитал некоторые другие примеры этой ошибки, но, похоже, не могу обернуться вокруг нее. Вот мои фиктивные данные.
Я создал таблицу и назвал ее blogPosts
CREATE TABLE blogPosts (
blog_id INT PRIMARY KEY AUTO_INCREMENT,
author_id INT DEFAULT 1,
blog_title VARCHAR(200),
date_created DATE,
genre VARCHAR(20)
);
Затем я создал таблицу и назвал ее author:
CREATE TABLE author (
author_id INT PRIMARY KEY AUTO_INCREMENT,
author_name VARCHAR(75)
);
I затем создал внешний ключ для blogPosts, который ссылался на таблицу author с помощью author_id, и он работал без проблем!
ALTER TABLE blogPosts ADD FOREIGN KEY(author_id)
REFERENCES author(author_id) ON DELETE SET NULL;

Вот моя проблема. Когда я создал эту новую таблицу под названием жанры, я попытался сделать то же самое и создать внешний ключ из blogPosts и связать его с первичным ключом таблицы жанров, но это не удалось.
CREATE TABLE genres(
genre_name VARCHAR(20) UNIQUE PRIMARY KEY
);
ALTER TABLE blogPosts ADD FOREIGN KEY(genre) REFERENCES genres(genre_name) ON DELETE SET NULL;
ER_NO_REFERENCED_ROW_2: Невозможно добавить или обновить дочернюю строку: ограничение внешнего ключа не выполнено (dunder_mifflin
. #sql-6454_2c
, CONSTRAINT blogposts_ibfk_2
FOREIGN KEY (genre
) ССЫЛКИ genres
(genre_name
) ВКЛЮЧЕНО, УДАЛИТЬ SET NULL)
Я действительно понятия не имею, почему это происходит. Любой совет будет принята с благодарностью, спасибо!