BerlinerBaer
Mitglied
Hhallo Community,
nach vielen Jahren setze ich mich nun wieder mit PHP und MySQL auseinander. Soweit klappt alles noch wie gewohnt. Außer die Funktion der Fremdschlüssel.
Das System von Fremdschlüsseln habe ich verstanden. Was ich jedoch nicht verstehe ist folgende Fehlermeldung:
Diese taucht auf, wenn ich in phpMyAdmin in der Beziehungsansicht Constraints erstellen will. In der Designansicht kommt folgende Fehlermeldung:
Fehler: FOREIGN KEY konnte nicht hinzugefügt werden!
Diese Fehlermeldung kommt, wenn ich in meiner Datenbank mehrere Tabellen von einer abhängig machen möchte. Meine Tabellenstruktur sieht wie folgt aus:
Nun meine Frage, wie schaffe ich es, alle hier gezeigten Tabellen von der NutzerID in der tNutzer Tabelle abhängig zu machen? Wenn beispielsweise der Nutzer in der tNutzer Tabelle gelöscht wird, dann sollen auch automatisch die anderen Tabellen davon profitieren. Oder muss ich diesen Löschvorgang auf jeden einzelne Tabelle durchführen?
// Nachtrag: In jeder Tabelle hat die NutzerID die Eigenschaten: Integer, 11; Nutzen tu ich MariaDB 10 mit dem Typ InnoDB
nach vielen Jahren setze ich mich nun wieder mit PHP und MySQL auseinander. Soweit klappt alles noch wie gewohnt. Außer die Funktion der Fremdschlüssel.
Das System von Fremdschlüsseln habe ich verstanden. Was ich jedoch nicht verstehe ist folgende Fehlermeldung:
Fehler beim Erzeugen eines Fremdschlüssels für NutzerID (überprüfen Sie die Datentypen)
Diese taucht auf, wenn ich in phpMyAdmin in der Beziehungsansicht Constraints erstellen will. In der Designansicht kommt folgende Fehlermeldung:
Fehler: FOREIGN KEY konnte nicht hinzugefügt werden!
#1005 - Kann Tabelle `dieabrechnung`.`tnutzer` nicht erzeugen (Fehler: 150 "Foreign key constraint is incorrectly formed") (Details…)
Diese Fehlermeldung kommt, wenn ich in meiner Datenbank mehrere Tabellen von einer abhängig machen möchte. Meine Tabellenstruktur sieht wie folgt aus:
Code:
+----------+ +--------+ +---------+ +--------+ +--------+
|tNutzer | |tThema | |tBeitrag | |tOnline | |tBlock |
+----------+ +--------+ +---------+ +--------+ +--------|
|NutzerID | |ThemaID | |BeitragID| |OnlineID| |BlockID |
|NutzerName| |NutzerID| |ThemaID | |NutzerID| |NutzerID|
+----------+ +--------+ |NutzerID | +--------+ +--------+
+---------+
// Nachtrag: In jeder Tabelle hat die NutzerID die Eigenschaten: Integer, 11; Nutzen tu ich MariaDB 10 mit dem Typ InnoDB