Magento でクレジット/デビット カードを使用して注文すると、次のエラーが表示されます。
Order saving error: SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '282-189' for key 2
それを見せたくなかったので、正確なトレースを取得できませんでしたが、app/code/core/Mage/Checkout/controllers/OnepageController.php
オンライン501
(未編集)までトレースしました。正確な行は次のとおりです。
$this->getOnepage()->saveOrder();
さて、ロジックは、注文を追加しようとすると、これは同じキーを持つ 2 つの注文であると教えてくれます。それとも完全に間違っているのでしょうか?
とにかく、これ以外で、これを修正する最良の方法は何ですか? 注文をエクスポートして、すべて削除してから再インポートすることを考えましたが、うまくいかない気がします。
私はMagento 1.6.2.0を使用しています
編集:整合性チェックに失敗しているテーブルを見つけた場合、そのテーブルを空にする可能性があることに気付きました(テーブルによっては)。これで自動的に修正されますか? どのテーブルが台無しになっているかを調べる方法についてのアイデアはありますか?
EDIT2:OğuzÇelikdemirの答えの後、次のことが原因であることがわかりました:
2012-03-14T13:59:01+00:00 DEBUG (7): SQL: INSERT INTO `sales_order_tax_item` (`tax_id`, `item_id`, `tax_percent`) VALUES (?, ?, ?) (254, 8, 10)
2012-03-14T13:59:01+00:00 DEBUG (7): SQL: INSERT INTO `sales_order_tax_item` (`tax_id`, `item_id`, `tax_percent`) VALUES (?, ?, ?) (254, 8, 10)
明らかに、同じ tax_id を 2 つ挿入することはできません。誰でもそれを修正する方法を知っていますか?