Antwort #15 am: 25. Januar 2021, 01:11:49
Hallo Hajosch,
es hat sich nun leider gezeigt, dass diese Liste hier ->
https://www.modified-shop.org/wiki/Kunden_löschen, bezüglich der bei Kundenlöschungen zu berücksichtigenden Tabellen, nicht aktuell ist, deshalb musste ich die Prozedur noch ein weiteres mal überarbeiten. Ich hoffe das der folgende Code jetzt aber tatsächlich final ist.
DELIMITER $$
DROP PROCEDURE IF EXISTS DeleteFakeCustomers $$
CREATE PROCEDURE DeleteFakeCustomers(IN cid VARCHAR(1024))
BEGIN
DELETE FROM address_book WHERE FIND_IN_SET(customers_id, cid);
DELETE FROM customers WHERE FIND_IN_SET(customers_id, cid);
DELETE FROM customers_basket WHERE FIND_IN_SET(customers_id, cid);
DELETE FROM customers_basket_attributes WHERE FIND_IN_SET(customers_id, cid);
DELETE FROM customers_info WHERE FIND_IN_SET(customers_info_id, cid);
DELETE FROM customers_ip WHERE FIND_IN_SET(customers_id, cid);
DELETE FROM customers_memo WHERE FIND_IN_SET(customers_id, cid);
DELETE FROM customers_status_history WHERE FIND_IN_SET(customers_id, cid);
IF EXISTS (SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = N'customers_wishlist') THEN
DELETE FROM customers_wishlist WHERE FIND_IN_SET(customers_id, cid);
DELETE FROM customers_wishlist_attributes WHERE FIND_IN_SET(customers_id, cid);
END IF;
IF EXISTS (SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = N'customers_dsgvo') THEN
DELETE FROM customers_dsgvo WHERE FIND_IN_SET(customers_id, cid);
END IF;
END $$
DELIMITER ;
CALL DeleteFakeCustomers('2,3,4');
Gruss
Hanspeter