Alte Playlists entfernen

Hallo zusammen

Kann mir jemand sagen, wie man alte Einträge (Playlists aber auch Künstlernamen von denen man keine Stücke mehr in der Datenbank hat) entfernen kann.

Ich nehme an, dies müsste ich manuell machen. Aber wo? Welches File muss ich bearbeiten? Und kann ich dies einfach ohne, dass die ganze Datenbank zusammen bricht? :slight_smile: OK, gebe zu, verstehe nicht viel von MySQL und habe es von einem Informatiker einrichten lassen :smiley:

Danke für die Hilfe.

Freundliche Grüsse

Mario

Das ist eine gute Frage und würde mich auch brennend interessieren! Diese leeren Namen machen die ganze Datenbank unübersichtlich und stören ziemlich. 8)

da kann man doch theoretisch nen batchfile für schreiben, was in ner schleife alles durchgeht!

dauert dann nur ggf nen paar Minuten, je nach Datenbankgröße!

Gruß
Kai

Die Musiklisten-Software kann das tatsächlich nicht. Da sie auch in der Form von mir nicht mehr weiterentwickelt wird (und sich aus verschiedenen Gründen auch nicht mehr kompilieren lässt), werdet ihr wohl auf den Nachfolger warten müssen, sorry.

Man kann die Playlists aber auf SQL-Ebene entfernen. Wer (verbotenerweise) MySQL ab Version 4.1 benutzt, kann das mit Subqueries machen:

DELETE FROM playlists WHERE airDate NOT IN (SELECT airDate FROM playlistItems);

Bei früheren Versionen muss man tricksen. Dazu schreibt man zunächst den folgenden Befehl in eine Datei “loeschen.sql”:

SELECT CONCAT('DELETE FROM playlists WHERE airDate=', playlists.airDate, ';') FROM playlists LEFT JOIN playlistItems ON playlists.airDate=playlistItems.airDate WHERE playlistItems.airDate IS NULL;

Der Befehl erzeugt die nötigen DELETE-Statements. Man kann sie dann mit

mysql --skip-column-names eldodb <loeschen.sql | mysql eldodb

ausführen (evtl. noch jeweils “-u username -p” angeben).

Torben