Нарушение ограничения php Ошибка 1452

Доброе утро, у меня большая проблема с этой ошибкой sql, когда я пытаюсь вставить событие в мою базу данных с помощью этого pdo:


SQL:

$subsquery1 = "SELECT cat_id FROM categories WHERE cat_name = ".$event_cat; $subsquery2 = "SELECT tournament_id FROM tournaments WHERE tournament_name = ".$event_tournament; $sqlx = "INSERT INTO events(event_team1, event_team2, event_cat, event_tournament, event_start_at, event_end_to, event_by) VALUES(:event_team1, :event_team2, :event_cat, :event_tournament, :event_start_at, :event_end_to, :event_by)"; // Prepare statement $statementx = $pdo->prepare($sqlx); // execute the query $resultx = $statementx->execute(array(':event_team1' => $event_team1, ':event_team2' => $event_team2, ':event_cat'=> $subsquery1, ':event_tournament'=> $subsquery2, ':event_start_at' => $event_start_at, ':event_end_to' => $event_end_to,':event_by'=>$event_by)); 


SQL ERROR FOLLOW:

Нарушение ограничения целостности: 1452 Невозможно добавить или обновить datenbank строку: ограничение внешнего ключа завершается с ошибкой ( events datenbank. events_ibfk_1 , CONSTRAINT events_ibfk_1 FOREIGN KEY ( event_cat ) ССЫЛКИ categories ( cat_id ) ВКЛ УДАЛИТЬ КАСКАД НА ОБНОВЛЕНИИ CASCADE)

 -- Table structure for table `events` CREATE TABLE `events` ( `event_id` int(8) NOT NULL AUTO_INCREMENT PRIMARY KEY, `event_team1` varchar(255) NOT NULL, `event_team2` varchar(255) NOT NULL, `event_start_at` timestamp NOT NULL, `event_end_to` timestamp NOT NULL, `event_cat` int(8) NOT NULL, `event_by` int(8) NOT NULL, `event_tournament` int(8) NOT NULL, KEY `event_cat` (`event_cat`), KEY `event_by` (`event_by`), KEY `event_tournament` (`event_tournament`) )ENGINE=InnoDB DEFAULT CHARSET=latin1; 

– Ограничения на стол

 ALTER TABLE `posts` ADD CONSTRAINT `posts_ibfk_1` FOREIGN KEY (`post_event`) REFERENCES `events` (`event_id`) ON DELETE CASCADE ON UPDATE CASCADE, ADD CONSTRAINT `posts_ibfk_2` FOREIGN KEY (`post_by`) REFERENCES `users` (`id`) ON UPDATE CASCADE; 

– Ограничения для табличных events

 ALTER TABLE `events` ADD CONSTRAINT `events_ibfk_1` FOREIGN KEY (`event_cat`) REFERENCES `categories` (`cat_id`) ON DELETE CASCADE ON UPDATE CASCADE, ADD CONSTRAINT `events_ibfk_2` FOREIGN KEY (`event_by`) REFERENCES `users` (`id`) ON UPDATE CASCADE, ADD CONSTRAINT `events_ibfk_3` FOREIGN KEY (`event_tournament`) REFERENCES `tournaments` (`tournament_id`) ON DELETE CASCADE ON UPDATE CASCADE; 

Пожалуйста, помогите кому-нибудь …

Solutions Collecting From Web of "Нарушение ограничения php Ошибка 1452"

Нарушение ограничения целостности: 1452 Невозможно добавить или обновить дочернюю строку: ограничение внешнего ключа завершается с ошибкой (datenbank.events, CONSTRAINTevents_ibfk_1FOREIGN KEY (event_cat) REFERENCEScategories (cat_id)

Вы выполняете вставку в таблицы events со значением, которое помещается в столбец event_cat .

Это значение еще не существует в categories таблицы в столбце cat_id .

И ты это сказал. Поэтому движок db говорит, что он этого не сделает. Он добросовестно подчиняется вашим приказам.