Benutzer löschen die noch nie bestellt haben

kann man erst mal in phpmyadmin testen mit
select * FROM oxuser WHERE oxpassword = “” AND oxid NOT IN ( SELECT oxuserid FROM oxuserbasket)

(allerdings ist diese Abfrage zu langsam - dauert in einem Shop mit ca. 10000 Kunden 1 min.)

Joins machen wir dann in Lesson 2 :wink:: Warenkörbe / Angefangene Bestellungen Löschen

1 Like

PS: hierbei noch in sql in where einfügen:
… and oxrights = ‘user’
→ sonst werden evtl. shop-admins gelöscht :roll_eyes:

1 Like

Auch nach dieser langen Zeit würde ich gerne den vollständigen Code platzieren. Dieser hat funktioniert. Ich habe diesen einzeln nacheinander ausgeführt. Achtung! Die erste Anweisung läuft am längsten!

DELETE FROM oxuser WHERE OXRIGHTS = ‘user’ AND oxid NOT IN ( SELECT oxuserid FROM oxorder)
DELETE FROM oxaddress WHERE oxuserid NOT IN ( SELECT oxid FROM oxuser)
DELETE FROM oxuserbaskets WHERE oxuserid NOT IN ( SELECT oxid FROM oxuser)
DELETE FROM oxuserbasketitems WHERE oxbasketid NOT IN ( SELECT oxid FROM oxuserbaskets)

3 Likes

This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.