Hallo ds170477,
nicht ganz einfach, zumindest wenn die DB aufgeräumt sein soll:
Inaktive Artikel haben in Tabelle products den products_status = 0.
Wenn Du die inaktiven Artikel komplett löschst, solltest Du auch die Einträge in den abhängigen Tabellen löschen. Alle Tabellen products_<xy> sind Kandidaten - auf jeden Fall, wenn ein Feld products_id vorkommt. Es gibt weitere Tabellen, die anders heissen, die ein Feld products_id haben, diese bekommst Du durch eine Abfrage einer MySQL-Systemtabelle in der DB information_schema:
SELECT group_concat(TABLE_NAME) FROM COLUMNS
WHERE column_name = 'products_id';
ergibt: customers_basket,customers_basket_attributes,orders_products,
personal_offers_by_customers_status_0,personal_offers_by_customers_status_1,
personal_offers_by_customers_status_2,personal_offers_by_customers_status_3,
personal_offers_by_customers_status_4,products,products_attributes,products_content,
products_description,products_graduated_prices,products_images,products_notifications,
products_to_categories,products_xsell,reviews,specials
Ausserdem gibt es indirekte Abhängigkeiten, zb hat products_attributes Bezüge zu products_options und products_options_values. Wenn Optionen nur von gelöschten Artikeln benötigt wurden, können auch diese Optionen weg.
Vorgehen:
0. DB-backup
1. Lösche zuerst alle abhängigen Sätze in allen betroffenen Tabellen
2. Lösche erst ganz am Schluss die inaktiven Sätze in products, da Du sonst die Menge der zu löschenden Sätze nicht mehr ermitteln kannst:
zu 1. zb
DELETE FROM customers_basket WHERE products_id IN
(SELECT products_id FROM products WHERE products_status = 0);
DELETE FROM customers_basket_attributes WHERE products_id IN
(SELECT products_id FROM products WHERE products_status = 0);
DELETE FROM orders_products WHERE products_id IN
(SELECT products_id FROM products WHERE products_status = 0);
DELETE FROM personal_offers_by_customers_status_0 WHERE products_id IN
(SELECT products_id FROM products WHERE products_status = 0);
DELETE FROM personal_offers_by_customers_status_1 WHERE products_id IN
(SELECT products_id FROM products WHERE products_status = 0);
DELETE FROM personal_offers_by_customers_status_2 WHERE products_id IN
(SELECT products_id FROM products WHERE products_status = 0);
DELETE FROM personal_offers_by_customers_status_3 WHERE products_id IN
(SELECT products_id FROM products WHERE products_status = 0);
DELETE FROM personal_offers_by_customers_status_4 WHERE products_id IN
(SELECT products_id FROM products WHERE products_status = 0);
DELETE FROM products_attributes WHERE products_id IN
(SELECT products_id FROM products WHERE products_status = 0);
DELETE FROM products_content WHERE products_id IN
(SELECT products_id FROM products WHERE products_status = 0);
DELETE FROM products_description WHERE products_id IN
(SELECT products_id FROM products WHERE products_status = 0);
DELETE FROM products_description WHERE products_id IN
(SELECT products_id FROM products WHERE products_status = 0);
DELETE FROM products_graduated_prices WHERE products_id IN
(SELECT products_id FROM products WHERE products_status = 0);
DELETE FROM products_images WHERE products_id IN
(SELECT products_id FROM products WHERE products_status = 0);
DELETE FROM products_notifications WHERE products_id IN
(SELECT products_id FROM products WHERE products_status = 0);
DELETE FROM products_to_categories WHERE products_id IN
(SELECT products_id FROM products WHERE products_status = 0);
DELETE FROM products_xsell WHERE products_id IN
(SELECT products_id FROM products WHERE products_status = 0);
DELETE FROM reviews WHERE products_id IN
(SELECT products_id FROM products WHERE products_status = 0);
DELETE FROM specials WHERE products_id IN
(SELECT products_id FROM products WHERE products_status = 0);
zu 2.
DELETE FROM products WHERE products_status = 0;
Grüße, Volker