sales_flat_order表中的entity_id跳转

时间:2013-05-18 10:20:56

标签: magento

任何人都知道为什么sales_flat_order表中的entity_id会跳转而不是按顺序递增?

mysql> SELECT entity_id FROM sales_flat_order;
+-----------+
| entity_id |
+-----------+
| 1         |
| 8         |
| 13        |
+-----------+
3 rows in set (0.00 sec)

2 个答案:

答案 0 :(得分:1)

(回复未来)

这可能是由涉及订单实体创建被回滚的数据库交易引起的

MySQL AUTO_INCREMENT does not ROLLBACK

答案 1 :(得分:0)

当Magento进入结账流程时,它会“保留”increment_id并将其放在quote(cart)对象上。您可以在以下位置查看获取增量ID的代码:

Mage_Eav_Model_Entity_Type::fetchNewIncrementId()

此行为的存在是为了允许Magento在订单完成之前发送支付网关最终订单ID(increment_id),允许网关将订单ID与订单相关联。如果客户放弃了网关中的付款流程。

如果您想找到'缺失'的increment_id,请查看字段reserved_order_id下的sales_flat_quote。您应该看到它们附加到未转换的引用对象。

这里有一个很好的答案。 magento order id increment jumps