Eine SQL-Abfrage, um verwaiste Bildanhänge und deren Meta zu finden

Dies ist für Leute, die gut mit MySQL-Abfragen sind. Ich benutze phpMyAdmin lokal um zu versuchen, eine alte WordPress & Woocommerce Seite zu optimieren, die im Laufe der Jahre ein paar Iterationen durchlaufen hat.

Ich sollte ~ 2000 verwaiste Image-Anhänge in der wp_posts Tabelle haben und jeder sollte ein paar verwandte Einträge in der wp_postmeta Tabelle haben. Ich versuche, sie komplett zu beseitigen.

Ich habe herausgefunden, wie man diese Bildanhänge findet:

  • Sie teilen dies mit ~ 160 Live-Produkten: wp_posts.post_type = 'attachment' AND wp_posts.post_parent = 0 AND wp_postmeta.post_id = wp_posts.ID

  • aber sie besitzen keine meta_key = '_thumbnail_id' in wp_postmeta , nur die Live-Produkte.

Ich weiß einfach nicht, wie ich diese zwei statementen in eine SQL-Abfrage kombinieren kann, um diese alten Produkte zu finden, die nicht die Zeile _thumbnail_id . Ich habe einige Kombinationen von NOT EXISTS vergeblich versucht, aber ich weiß nicht, ob ich es richtig verwende oder ob ich eine andere Methode verwenden muss.

Mein Ansatz (vielleicht hast du einen besseren?) wp_posts , diese Produkte anhand dieser beiden Bedingungen aus wp_posts und zu löschen und dann ihre verwaisten Metadaten aus wp_postmeta löschen (was für mich einfach genug sein sollte).

Solutions Collecting From Web of "Eine SQL-Abfrage, um verwaiste Bildanhänge und deren Meta zu finden"