變更資料庫實體(訂單、發票、銷退折讓單等)的增量ID 於特定商店
本文討論如何變更Adobe Commerce資料庫(DB)實體(訂單、發票、銷退折讓單等)的增量ID 使用ALTER TABLE
SQL陳述式的特定Adobe Commerce存放區。
受影響的版本
- Adobe Commerce內部部署:2.x.x
- 雲端基礎結構上的Adobe Commerce: 2.x.x
- MySQL:任何支援的版本
您何時需要變更增量ID (案例)
在下列情況下,您可能需要變更新DB實體的增量ID:
- 在即時網站上進行硬備份還原之後
- 有些訂單記錄已遺失,但付款閘道(例如PayPal)已使用其ID代管您目前的商家帳戶。 在這種情況下,付款閘道會停止處理具有相同ID的新訂單,傳回「重複發票識別碼」錯誤
NOTE
您也可以在PayPal的「付款接收偏好設定」中,允許每個商業發票識別碼進行多項付款,以修正PayPal的付款閘道問題。 請參閱我們的支援知識庫中的PayPal閘道拒絕要求 — 重複發票問題。
必備條件步驟
- 尋找應變更新增量ID的存放區和實體。
- 連線至您的MySQL資料庫。 針對雲端基礎結構上的Adobe Commerce,您首先需要SSH連線至您的環境。
- 使用下列查詢來檢查實體序清單目前的auto_increment值:
SHOW TABLE STATUS FROM `{database_name}` WHERE `name` LIKE 'sequence_{entity_type}_{store_id}';
範例
如果您檢查的是 ID=1 之商店訂單的自動遞增,資料表名稱將是:
'sequence_order_1'
如果auto_increment
資料行的值為 1234,則下個在 ID=1 的商店下單的訂單將會有 ID #100001234。
相關檔案
更新實體以變更增量ID
使用下列查詢更新實體:
ALTER TABLE sequence_{entity_type}_{store_id} AUTO_INCREMENT = {new_increment_value};
WARNING
重要:新的增量值必須大於目前值,不能小於!
範例
執行以下查詢之後:
ALTER TABLE sequence_order_1 AUTO_INCREMENT = 2000;
下一個在 ID=1 的商店下單的訂單將具有 ID #100002000。
生產環境(雲端)的其他建議步驟
在雲端基礎結構上的Adobe Commerce的生產環境上執行ALTER TABLE
查詢之前,我們強烈建議您執行下列步驟:
- 在中繼環境中測試變更增量ID的整個程式
- 建立資料庫備份,以便在失敗時還原您的生產資料庫
相關檔案
- 在我們的支援知識庫中建立雲端上的資料庫傾印。
- 在開發人員檔案中SSH至您的環境。
recommendation-more-help
8bd06ef0-b3d5-4137-b74e-d7b00485808a