#php #mysql #innodb
#php #mysql #innodb
Вопрос:
эй, ребята, я получаю эту ошибку.
Error 1452 : Cannot add or update a child row: a foreign key constraint fails (`s2794971db/ProfileInterests`, CONSTRAINT `ProfileInterests_ibfk_2` FOREIGN KEY (`InterestID`) REFERENCES `Interests` (`ID`))
Я меняю свои таблицы с MyISAM на innodb … обнаружил, что мне нужно, чтобы удаление было проще.
У меня были проблемы с этим, поэтому я удалил таблицу, с которой мне нужно было создать отношения.
Затем я сделал это снова
Изначально у меня было
create table if not exists Users (
ID int not null auto_increment primary key,
FirstName varchar(40) not null,
LastName varchar(40) not null,
UserName varchar(40) not null,
UserEmail varchar(40) not null,
UserDOB timestamp not null,
UserJoin datetime not null
);
create table if not exists Interests(
ID int not null auto_increment primary key,
Interests varchar(40) not null
);
create table if not exists ProfileInterests (
userID int not null References Users(ID),
InterestID int not null References Interests(ID),
MiddleID int not null auto_increment primary key
);
но затем я удалил последнюю таблицу и создал ее
create table if not exists ProfileInterests (
userID int not null,
InterestID int not null,
MiddleID int not null auto_increment primary key
);
и затем я ввел userId и InterestID в index, а затем добавил отношение User-> ID для userId и interests-> ID для interestID
ошибка возникает, когда я пытаюсь ввести данные в форму с помощью php.
Есть идеи … действительно нужна помощь!
Ответ №1:
Очевидно, вы пытаетесь вставить запись, в ProfileInterests
для которой нет соответствующей записи в Interests
таблице. Посмотрите на точный запрос insert и убедитесь, что вы предоставляете допустимое значение для каждого поля в таблице, которое является частью отношения внешнего ключа.