«Невозможно добавить или обновить дочернюю строку» mysql - PullRequest
0 голосов
/ 22 ноября 2018

Я постоянно получаю этот флаг:

1452 - Невозможно добавить или обновить дочернюю строку: ограничение внешнего ключа не выполняется (mydb4653. stars, CONSTRAINT fk_stars_movie FOREIGN KEY (movieID) ССЫЛКИ movie (id))

, когда я пытаюсь вставить данные в таблицу

Это таблицы

movie(id, title, relYear, category, runTime, director,
studioName, description, rating)
actor(aID, fName, surname, gender)
stars(movieID, actorID)
movGenre(movieID, genre)

Я думаю, что это может иметь какое-то отношение к тому факту, что это не единственный movieID , поскольку он единственный, с которым у меня возникают проблемы.Он определенно индексируется

Я пробовал:

CREATE TABLE stars
(movieID INTEGER,
actorID INTEGER NOT NULL PRIMARY KEY,
CONSTRAINT fk_stars_movie FOREIGN KEY (movieID) REFERENCES movie(ID)
);

, а также вручную делает его внешним ключом в представлении отношений.Это также тот же тип данных, что и его первичный ключ, поэтому проблема не в этом.

CREATE TABLE movie
(id INTEGER NOT NULL PRIMARY KEY,
 title VARCHAR(100), 
 relYear INTEGER, 
 category VARCHAR(5), 
 runTime INTEGER, 
 director VARCHAR(50), 
 studioName VARCHAR(100), 
 description VARCHAR(500), 
 rating DECIMAL(10,2)
);

1 Ответ

0 голосов
/ 22 ноября 2018

set foreign_key_checks = 0;

Ваш запрос вставки выполняется здесь ...

set foreign_key_checks = 1;

...