Hallo,
die Fehlermeldung besagt nichts weiter, als dass es schon einen Primary Key auf deiner Tabelle "menu" gibt. Ich gehe mal davon aus, dass der Primary Key auf der Spalte "mid" liegt. Es kann nur einen Primärschlüssel pro Tabelle geben, daher die Fehlermeldung.
Nichts, da den Rest die Datenbank selbst erledigt. D.h. ein einfaches
löscht den Datensatz mit der mid=29, als auch die Datensätze, die über die Spalte "parent_id" hierarchisch damit verbunden sind.
Du brauchst keine zusätzlichen Spalten anlegen. Das was ich in den beiden ALTER-TABLE-Statements gemacht hab, war das Anlegen von Beschränkungen (Primärschlüssel und Fremdschlüssel). Diese Beschränkungen beziehen sich auf die Spalten "mid" und "parent_id", die in deiner Tabelle ja schon vorhanden sind.
Hier brauchst du also nichts weiter zu tun, ausser die Statements auzuführen.
Markus
#1068 - Multiple primary key defined
die Fehlermeldung besagt nichts weiter, als dass es schon einen Primary Key auf deiner Tabelle "menu" gibt. Ich gehe mal davon aus, dass der Primary Key auf der Spalte "mid" liegt. Es kann nur einen Primärschlüssel pro Tabelle geben, daher die Fehlermeldung.
Und wie muss ich dann meine DB Abfrage abändern zum Löschen der Einträge?
Nichts, da den Rest die Datenbank selbst erledigt. D.h. ein einfaches
SQL:
DELETE FROM menu WHERE mid=29
löscht den Datensatz mit der mid=29, als auch die Datensätze, die über die Spalte "parent_id" hierarchisch damit verbunden sind.
Und was muss in die zusätzlichen Spalten an Werte rein?
Du brauchst keine zusätzlichen Spalten anlegen. Das was ich in den beiden ALTER-TABLE-Statements gemacht hab, war das Anlegen von Beschränkungen (Primärschlüssel und Fremdschlüssel). Diese Beschränkungen beziehen sich auf die Spalten "mid" und "parent_id", die in deiner Tabelle ja schon vorhanden sind.
Hier brauchst du also nichts weiter zu tun, ausser die Statements auzuführen.
Markus