Błąd Mysql 1452 - Nie można dodać lub zaktualizować wiersza podrzędnego: ograniczenie klucza obcego nie powiedzie się

Mam trochę dziwnego problemu. Próbuję dodać klucz obcy do jednej tabeli, która odwołuje się do innej, ale z jakiegoś powodu zawodzi. Z moją ograniczoną wiedzą na temat MySQL, jedyną rzeczą, która mogłaby być podejrzana, jest to, że na innej tabeli istnieje klucz obcy odwołujący się do klucza, który próbuję odwołać.

Oto obraz moich relacji z tabelami wygenerowany przez phpMyAdmin:Relacje

ZrobiłemSHOW CREATE TABLE zapytanie na obu tabelach,sourcecodes_tags jest tabelą z kluczem obcym,sourcecodes jest tabelą odniesienia.

CREATE TABLE `sourcecodes` (
 `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
 `user_id` int(11) unsigned NOT NULL,
 `language_id` int(11) unsigned NOT NULL,
 `category_id` int(11) unsigned NOT NULL,
 `title` varchar(40) CHARACTER SET utf8 NOT NULL,
 `description` text CHARACTER SET utf8 NOT NULL,
 `views` int(11) unsigned NOT NULL,
 `downloads` int(11) unsigned NOT NULL,
 `time_posted` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
 PRIMARY KEY (`id`),
 KEY `user_id` (`user_id`),
 KEY `language_id` (`language_id`),
 KEY `category_id` (`category_id`),
 CONSTRAINT `sourcecodes_ibfk_3` FOREIGN KEY (`language_id`) REFERENCES `languages` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
 CONSTRAINT `sourcecodes_ibfk_1` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
 CONSTRAINT `sourcecodes_ibfk_2` FOREIGN KEY (`category_id`) REFERENCES `categories` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=latin1

CREATE TABLE `sourcecodes_tags` (
 `sourcecode_id` int(11) unsigned NOT NULL,
 `tag_id` int(11) unsigned NOT NULL,
 KEY `sourcecode_id` (`sourcecode_id`),
 KEY `tag_id` (`tag_id`),
 CONSTRAINT `sourcecodes_tags_ibfk_1` FOREIGN KEY (`tag_id`) REFERENCES `tags` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=latin1

Byłoby wspaniale, gdyby ktoś mógł mi powiedzieć, co się tutaj dzieje, nie miałem żadnego formalnego szkolenia ani niczego z MySQL :)

Dzięki.

Edytować: To jest kod, który generuje błąd:

ALTER TABLE sourcecodes_tags ADD FOREIGN KEY (sourcecode_id) REFERENCES sourcecodes (id) ON DELETE CASCADE ON UPDATE CASCADE

questionAnswers(19)

yourAnswerToTheQuestion