MySQL-Fehler 1452 - Hinzufügen oder Aktualisieren einer untergeordneten Zeile nicht möglich: Eine Fremdschlüsseleinschränkung schlägt fehl

Ich habe ein merkwürdiges Problem. Ich versuche, einer Tabelle, die auf eine andere verweist, einen Fremdschlüssel hinzuzufügen, aber aus irgendeinem Grund schlägt dies fehl. Aufgrund meiner begrenzten MySQL-Kenntnisse besteht der einzige Verdacht, dass sich in einer anderen Tabelle ein Fremdschlüssel befindet, der auf denjenigen verweist, auf den ich verweisen möchte.

Hier ist ein Bild meiner Tabellenbeziehungen, die über phpMyAdmin generiert wurden:Beziehungen

Ich habe einen gemachtSHOW CREATE TABLE Abfrage für beide Tabellen,sourcecodes_tags ist die Tabelle mit dem Fremdschlüssel,sourcecodes ist die referenzierte Tabelle.

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

Es wäre großartig, wenn mir jemand sagen könnte, was hier vor sich geht, ich habe keine formelle Ausbildung oder irgendetwas mit MySQL gehabt :)

Vielen Dank.

Bearbeiten: Dies ist der Code, der den Fehler erzeugt:

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

Antworten auf die Frage(20)

Ihre Antwort auf die Frage