n00bly n00bly - 4 months ago 83
PHP Question

Magento - SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry

When a customer is in the checkout process of Magento and get redirected to his back website to complete the payment. If they cancel the payment and get redirected back to the magento shop it's impossible to place an order anymore and i get this error e-mail:


SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry 'MF00000007' for key 'UNQ_SALES_FLAT_ORDER_INCREMENT_ID', query was: INSERT INTO
sales_flat_order
(
coupon_code
,
protect_code
,
shipping_description
,
is_virtual
,
store_id
,
customer_id
,
base_discount_amount
,
base_grand_total
,
base_shipping_amount
,
base_shipping_tax_amount
,
base_subtotal
,
base_tax_amount
,
base_to_global_rate
,
base_to_order_rate
,
discount_amount
,
grand_total
,
shipping_amount
,
shipping_tax_amount
,
store_to_base_rate
,
store_to_order_rate
,
subtotal
,
tax_amount
,
total_qty_ordered
,
customer_is_guest
,
customer_note_notify
,
customer_group_id
,
quote_id
,
base_shipping_discount_amount
,
base_subtotal_incl_tax
,
shipping_discount_amount
,
subtotal_incl_tax
,
weight
,
customer_dob
,
increment_id
,
applied_rule_ids
,
base_currency_code
,
customer_email
,
customer_firstname
,
customer_lastname
,
customer_middlename
,
customer_prefix
,
customer_suffix
,
customer_taxvat
,
discount_description
,
global_currency_code
,
order_currency_code
,
remote_ip
,
shipping_method
,
store_currency_code
,
store_name
,
x_forwarded_for
,
customer_note
,
created_at
,
updated_at
,
total_item_count
,
customer_gender
,
hidden_tax_amount
,
base_hidden_tax_amount
,
shipping_hidden_tax_amount
,
base_shipping_hidden_tax_amnt
,
shipping_incl_tax
,
base_shipping_incl_tax
,
gift_message_id
) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, '2016-02-11 15:39:09', '2016-02-11 15:39:09', ?, ?, ?, ?, ?, ?, ?, ?, ?)


Can someone help me with this, we have another customer also magento shop with this same issue...

Best regards,
Robert

Answer

Copy file app/code/core/Mage/Sales/Model/Resource/Quote.php to app/code/local/Mage/Sales/Model/Resource/Quote.php (or create a custom module to overwrite this class).

Find:

$bind = array(':increment_id' => (int)$orderIncrementId);

and replace this with:

$bind = array(':increment_id' => $orderIncrementId);