[Nur PaaS]{class="badge informative" title="Gilt nur für Adobe Commerce in Cloud-Projekten (von Adobe verwaltete PaaS-Infrastruktur) und lokale Projekte."}

Inkrement-ID ändern

In diesem Artikel wird beschrieben, wie Sie die Inkrement-ID für eine Commerce-Datenbankentität (DB) (Bestellung, Rechnung, Gutschrift usw.) für einen bestimmten Commerce Store mithilfe der ALTER TABLE SQL-Anweisung ändern.

Betroffene Versionen

Wann müssten Sie die Inkrement-ID ändern?

Möglicherweise müssen Sie in folgenden Fällen die Inkrement-ID für neue DB-Entitäten ändern:

  • Nach einer Hard Backup-Wiederherstellung auf einer Live Site
  • Einige Auftragsdatensätze sind verloren gegangen, aber ihre IDs werden bereits von Zahlungs-Gateways (wie PayPal) für Ihr aktuelles Händlerkonto verwendet. In diesem Fall verarbeiten die Zahlungs-Gateways keine neuen Bestellungen mehr, die dieselben IDs haben, sondern geben den Fehler „Rechnungsduplikat-ID“ zurück
INFO
Sie können das Problem mit dem Zahlungs-Gateway für PayPal auch beheben, indem Sie in den Zahlungseingangsvoreinstellungen von PayPal mehrere Zahlungen pro Rechnungs-ID zulassen. Siehe PayPal-Gateway-Anfrage abgelehnt - Problem mit doppelter Rechnung in Wissensdatenbank.

Vorausgesetzte Schritte

  1. Suchen Sie nach Stores und Entitäten, für die die neue Inkrement-ID geändert werden soll.

  2. Verbinden Sie sich mit Ihrer MySQL-DB.
    Für Adobe Commerce in der Cloud-Infrastruktur müssen Sie zunächst eine Verbindung mit Ihrer Umgebung über SSH herstellen.

  3. Überprüfen Sie den aktuellen auto_increment für die Entitätssequenztabelle mithilfe der folgenden Abfrage:

    code language-sql
    SHOW TABLE STATUS FROM `{database_name}` WHERE `name` LIKE 'sequence_{entity_type}_{store_id}';
    

Wenn Sie eine automatische Inkrementierung für eine Bestellung im Store mit der ID=1 überprüfen, wäre der Tabellenname „sequence_order_1“.

Wenn der Wert der auto_increment Spalte „1234“ ist, hat die nächste Bestellung im Store mit ID=1 die ID "#100001234“.

Entität aktualisieren, um Inkrement-ID zu ändern

Aktualisieren Sie die Entität mithilfe der folgenden Abfrage:

ALTER TABLE sequence_{entity_type}_{store_id} AUTO_INCREMENT = {new_increment_value};
INFO
Wichtig: Der neue Inkrementwert muss größer als der aktuelle Wert sein.

Nach dem Ausführen der folgenden Abfrage:

ALTER TABLE sequence_order_1 AUTO_INCREMENT = 2000;

Die nächste Bestellung, die mit ID=1 im Geschäft aufgegeben wird, hat die ID "#100002000“.

Zusätzliche empfohlene Schritte für Cloud-Produktionsumgebungen

Bevor Sie die ALTER TABLE Abfrage in einer Produktionsumgebung von Adobe Commerce in der Cloud-Infrastruktur ausführen, empfehlen wir dringend die folgenden Schritte:

  • Testen des gesamten Verfahrens zur Änderung der Inkrement-ID in der Staging-Umgebung
  • Erstellen eines DB-Backups, um die Produktions-DB bei einem Fehler wiederherzustellen

[Beliebige unterstützte Version]

recommendation-more-help
386822bd-e32c-40a8-81c2-ed90ad1e198c