先确认问题层级
将预发布数据库恢复到生产或新增Store后,创建订单时报increment_id重复。订单号来自按Store维护的sequence表,不只看sales_order最大值。
确认出错订单的store_id以及对应sales_sequence_meta、sales_sequence_profile和sequence_order_N表。
比较sequence表当前AUTO_INCREMENT与该Store已有订单最大序号,先备份并暂停下单后再校正。
修复方法
- 数据库克隆脚本必须连同sequence元数据一起迁移;新增Store应通过标准流程创建对应sequence表。
- 不要直接修改历史订单increment_id绕过唯一键,外部ERP和支付已引用这些号码。
SELECT store_id,MAX(entity_id),MAX(increment_id) FROM sales_order GROUP BY store_id;SELECT * FROM sales_sequence_meta WHERE entity_type='order';SHOW TABLE STATUS LIKE 'sequence_order_%';
怎样才算解决
每个Store连续创建多张订单均唯一,Invoice、Shipment和Credit Memo各自序列也无冲突。

