PHP My Admin Löschweitergabe

Jacy

Mitglied
Hallo zusammen,ich habe ein Frage zu PHP my Admin. Ich benutzte das zum ersten Mal und habe mich gefragt,wie man hier eine Löschweitergabe einträgt. Also ich habe zwei Tabellen, die Tabelle Album mit dem Primärschlüssel aID und den Feldern Name und Jahr und die Tabelle Tracks mit dem Primärschlüssel tID und den Feldern aID(welches zu aID in Album referenziert ist) und Titel.

Jetzt habe ich das Feld aID aus der Tabelle Tracks gekennzeichnet, sodass es sich auf das Feld aID in Album bezieht. Ist es möglich,für aID in Tracks eine Löschweitergabe einzustellen,d.h. wenn ich aID aus Album lösche,das auch aus Tracks gelöscht wird?
 
Erstmal vornweg. phpMYAdmin ist nur ein Tool. Du suchst eine Lösung in MySQL, das ist die Datenbank dahinter.

Du kannst das mit einem foreign-key-Constraint mit CASCADE ON DELETE machen. Aber nur wenn beide Tabellen vom Typ InnoDB sind.
http://dev.mysql.com/doc/refman/5.1/de/innodb-foreign-key-constraints.html

In phpMyAdmin auf die SQL-Lasche geben und das folgnede Ausführen....
SQL:
-- Den Tabellentyp auf InnoDB wechseln
ALTER TABLE `Album`  ENGINE=InnoDB;
ALTER TABLE `Tracks`  ENGINE=InnoDB;

-- Den Constraint einrichten
ALTER TABLE `Tracks`  
ADD CONSTRAINT `FK_Tracks_Album` 
	FOREIGN KEY (`aID`) 
	REFERENCES `Album` (`aID`) 
	ON DELETE CASCADE;

Nun sollte beim löschen eines Albums automatisch alle dazugehörenden Tracks mitgelöscht werden.
 
Zuletzt bearbeitet von einem Moderator:
Ähm ja,ich dachte nur,vllt sollte ich dazu sagen,dass ich das in PHP My Admin machen möchte,weil es da vllt einen Trick gibt=) Vielen Dank,es funktioniert:)
 

Neue Beiträge

Zurück