Also prinzipiell ist die Änderung bzw. das Aufrücken der ID bei "Lücken" möglich, man muss aber sehr sorgfältig vorgehen.
Man muss das auf seine Bedürfnisse anpassen und jedes SQL-Statement zeilenweise in phpMyAdmin ausführen.
UPDATE customers SET customers_status=customers_status-1 WHERE customers_status = 3
UPDATE customers SET customers_status=customers_status-1 WHERE customers_status = 4
UPDATE customers SET customers_status=customers_status-1 WHERE customers_status = 5
DROP TABLE customers_status
CREATE TABLE IF NOT EXISTS customers_status (
customers_status_id INT(11) NOT NULL DEFAULT '0',
language_id INT(11) NOT NULL DEFAULT '1',
customers_status_name VARCHAR(32) NOT NULL DEFAULT '',
customers_status_public INT(1) NOT NULL DEFAULT '1',
customers_status_min_order INT(7) DEFAULT NULL,
customers_status_max_order INT(7) DEFAULT NULL,
customers_status_image VARCHAR(64) DEFAULT NULL,
customers_status_discount DECIMAL(4,2) DEFAULT '0.00',
customers_status_ot_discount_flag CHAR(1) NOT NULL DEFAULT '0',
customers_status_ot_discount DECIMAL(4,2) DEFAULT '0.00',
customers_status_graduated_prices VARCHAR(1) NOT NULL DEFAULT '0',
customers_status_show_price INT(1) NOT NULL DEFAULT '1',
customers_status_show_price_tax INT(1) NOT NULL DEFAULT '1',
customers_status_add_tax_ot INT(1) NOT NULL DEFAULT '0',
customers_status_payment_unallowed VARCHAR(255) NOT NULL,
customers_status_shipping_unallowed VARCHAR(255) NOT NULL,
customers_status_discount_attributes INT(1) NOT NULL DEFAULT '0',
customers_fsk18 INT(1) NOT NULL DEFAULT '1',
customers_fsk18_display INT(1) NOT NULL DEFAULT '1',
customers_status_write_reviews INT(1) NOT NULL DEFAULT '1',
customers_status_read_reviews INT(1) NOT NULL DEFAULT '1',
PRIMARY KEY (customers_status_id,language_id),
KEY idx_orders_status_name (customers_status_name)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
INSERT INTO customers_status (customers_status_id, language_id, customers_status_name, customers_status_public, customers_status_min_order, customers_status_max_order, customers_status_image, customers_status_discount, customers_status_ot_discount_flag, customers_status_ot_discount, customers_status_graduated_prices, customers_status_show_price, customers_status_show_price_tax, customers_status_add_tax_ot, customers_status_payment_unallowed, customers_status_shipping_unallowed, customers_status_discount_attributes, customers_fsk18, customers_fsk18_display, customers_status_write_reviews, customers_status_read_reviews) VALUES
(0, 2, 'Admin', 1, 50, 0, 'admin_status.gif', 99.99, '0', 0.00, '1', 1, 0, 1, '', '', 0, 1, 1, 1, 1),
(1, 2, 'Gast', 1, 50, 0, 'guest_status.gif', 99.99, '0', 0.00, '1', 1, 1, 1, 'cod,invoice', '', 0, 1, 1, 1, 1),
(2, 2, 'H‰ndler', 1, 50, 0, 'merchant_status.gif', 99.99, '0', 0.00, '1', 1, 0, 1, '', '', 0, 1, 1, 1, 1),
(3, 2, 'Neuer Kunde', 1, 50, 0, 'customer_status.gif', 99.99, '0', 0.00, '1', 1, 1, 1, 'cod,invoice', '', 0, 1, 1, 1, 1),
(4, 2, 'Stammkunde', 1, 50, 0, 'customer_status.gif', 99.99, '0', 0.00, '1', 1, 1, 1, '', '', 0, 1, 1, 1, 1);
UPDATE newsletter_recipients SET customers_status=customers_status-1 WHERE customers_status = 3
UPDATE newsletter_recipients SET customers_status=customers_status-1 WHERE customers_status = 4
UPDATE newsletter_recipients SET customers_status=customers_status-1 WHERE customers_status = 5
UPDATE orders SET customers_status=customers_status-1 WHERE customers_status = 3
UPDATE orders SET customers_status=customers_status-1 WHERE customers_status = 4
UPDATE orders SET customers_status=customers_status-1 WHERE customers_status = 5
ALTER TABLE personal_offers_by_customers_status_3 RENAME personal_offers_by_customers_status_2
ALTER TABLE personal_offers_by_customers_status_4 RENAME personal_offers_by_customers_status_3
ALTER TABLE personal_offers_by_customers_status_5 RENAME personal_offers_by_customers_status_4
ALTER TABLE products CHANGE group_permission_3 group_permission_2 TINYINT( 1 ) NOT NULL
ALTER TABLE products CHANGE group_permission_4 group_permission_3 TINYINT( 1 ) NOT NULL
ALTER TABLE products CHANGE group_permission_5 group_permission_4 TINYINT( 1 ) NOT NULL
ALTER TABLE categories CHANGE group_permission_3 group_permission_2 TINYINT( 1 ) NOT NULL
ALTER TABLE categories CHANGE group_permission_4 group_permission_3 TINYINT( 1 ) NOT NULL
ALTER TABLE categories CHANGE group_permission_5 group_permission_4 TINYINT( 1 ) NOT NULL
UPDATE content_manager SET group_ids = 'c_all_group,c_0_group,c_1_group,c_2_group,c_3_group,c_4_group,';
Jetzt noch unter "Konfiguration> Mein Shop" die Standard-Kundengruppe für Neukunden korrigieren
Auflerdem unter "Erweiterte Konfiguration> UST ID" die "Kundenstatus für UST ID geprüfte Kunden" korrigieren
Am Schluss kann man zum Test eine neue Kundengruppe anlegen und löschen.
Funktionierte beides, stehen die Chancen gut alles richtig gemacht zu haben, aber eine Garantie ist es nicht.
Man sollte die Daten nach den "Updates" immer gegenprüfen, ob die IDs zur Kundengruppe richtig sind.
Vor allem natürlich mit dem MySQL Dumper ein
Backup machen.