gelöst SQL Befehl zum Löscher überzähliger Artikelfotos in einer Kategorie " Archiv"

Thema wurde von ww2-militaria-shop, 15. November 2024 erstellt.

  1. ww2-militaria-shop

    ww2-militaria-shop Erfahrener Benutzer

    Registriert seit:
    16. November 2017
    Beiträge:
    189
    Danke erhalten:
    4
    Danke vergeben:
    57
    Hallo, wir haben ein Archiv, in welches wir alle verkauften Artikel verschieden.
    leider ist die datei so gross geworden, dass wir pro Artikel in der kategorie Archiv nur 2 Bilder pro Artikel lassen möchten,
    die anderen Fotos sollen gelöscht werden. Gibt es dafür einen SQL Befehl?
    Danke Euch im Voraus.
     
  2. Dominik Späte

    Dominik Späte Erfahrener Benutzer

    Registriert seit:
    16. Oktober 2018
    Beiträge:
    1.197
    Danke erhalten:
    1.081
    Danke vergeben:
    372
    Hallo Peter :)

    Erstmal aktuelles Backup der Tabelle products_images anfertigen. Dann folgenden SQL-Befehl ausführen, um bei allen Artikeln in der Kategorie "Archiv" nur die ersten beiden Artikelbilder beizubehalten und alle darüber hinaus loszulösen:

    Code:
    DELETE FROM `products_images` WHERE image_nr>1 AND products_id IN (
        SELECT
            p1.products_id
        FROM
            products_to_categories p1, categories_description p2
        WHERE
            p1.categories_id=p2.categories_id AND p2.language_id=2 AND p2.categories_name='Archiv'
    );
    Anschließend kontrollieren und wenn das soweit passt, kannst Du auch die nicht mehr benötigten Alt-Texte löschen:

    Code:
    DELETE FROM `gm_prd_img_alt` WHERE image_id NOT IN (SELECT image_id FROM `products_images`);
    Ein SQL-Befehl löscht keine Bilder! Die Artikelbilder sind nach Ausführung nach wie vor physisch vorhanden. Zum Löschen gibt's im Admin die Option Toolbox > Artikelbilder löschen > Alle nicht verwendeten Artikelbilder unwiderruflich löschen?
     
  3. ww2-militaria-shop

    ww2-militaria-shop Erfahrener Benutzer

    Registriert seit:
    16. November 2017
    Beiträge:
    189
    Danke erhalten:
    4
    Danke vergeben:
    57
    Moin Dominik,
    alles Klar danke Dir vorerst, ich versuche das und melde mich wieder...
     
  4. ww2-militaria-shop

    ww2-militaria-shop Erfahrener Benutzer

    Registriert seit:
    16. November 2017
    Beiträge:
    189
    Danke erhalten:
    4
    Danke vergeben:
    57
    Hallo Dominik,
    Du bist der Beste, SQL hat funktioniert. Prüfe das jetzt noch die Woche und schreibe dir dann wieder.
    VG Peter
     
  5. willems

    willems Erfahrener Benutzer

    Registriert seit:
    8. Juni 2011
    Beiträge:
    70
    Danke erhalten:
    4
    Danke vergeben:
    13
    Hoi Dominik,
    gibt es auch einen MySQL-Befehl, um Bilder aus der Datenbank zu entfernen, die für einen Artikel angegeben sind, aber physisch nicht auf dem Server vorhanden sind?
    Beispiel: Ein Artikel im Shop wurde mit 3 Bildern erstellt, aber nur 2 davon sind tatsächlich vorhanden. Gibt es eine Möglichkeit, die überflüssigen Bild-Einträge aus der Datenbank zu löschen, ohne den Artikel selbst zu entfernen?
    Danke Euch im Voraus.
     
  6. Dominik Späte

    Dominik Späte Erfahrener Benutzer

    Registriert seit:
    16. Oktober 2018
    Beiträge:
    1.197
    Danke erhalten:
    1.081
    Danke vergeben:
    372
    Hi Marcel, nein, so etwas gibt es leider nicht.
     
  7. willems

    willems Erfahrener Benutzer

    Registriert seit:
    8. Juni 2011
    Beiträge:
    70
    Danke erhalten:
    4
    Danke vergeben:
    13
    Danke Dominik. Das ist schade