2016-12-12 13 views
0

私は最近、私の開発サイトの顧客情報と注文情報を更新してから、それをライブにプッシュしました(increment_last_idを更新しません)。私たちのチェックアウトは、もはやクレジットカードの注文を処理していないと私は例外をチェックしたときに、私はこれらの2つの関連のエラーを取得ログインされています。まずMagento 1062キー 'UNQ_SALES_FLAT_INVOICE_INCREMENT_ID'の重複エントリ '100000001'

exception 'PDOException' with message 'SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '100000001' for key 'UNQ_SALES_FLAT_INVOICE_INCREMENT_ID'' in /home/tebostorefixture/public_html/lib/Zend/Db/Statement/Pdo.php:228 


Next exception 'Zend_Db_Statement_Exception' with message 'SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '100000001' for key 'UNQ_SALES_FLAT_INVOICE_INCREMENT_ID', query was: INSERT INTO `sales_flat_invoice` (`store_id`, `base_grand_total`, `shipping_tax_amount`, `tax_amount`, `base_tax_amount`, `store_to_order_rate`, `base_shipping_tax_amount`, `base_discount_amount`, `base_to_order_rate`, `grand_total`, `shipping_amount`, `subtotal_incl_tax`, `base_subtotal_incl_tax`, `store_to_base_rate`, `base_shipping_amount`, `total_qty`, `base_to_global_rate`, `subtotal`, `base_subtotal`, `discount_amount`, `billing_address_id`, `order_id`, `state`, `shipping_address_id`, `store_currency_code`, `transaction_id`, `order_currency_code`, `base_currency_code`, `global_currency_code`, `increment_id`, `created_at`, `updated_at`, `hidden_tax_amount`, `base_hidden_tax_amount`, `shipping_hidden_tax_amount`, `discount_description`) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, '2016-12-12 18:48:11', '2016-12-12 18:48:11', ?, ?, ?, ?)' in /home/mystore/public_html/lib/Zend/Db/Statement/Pdo.php:235 

を、エラーが100000027の周りにエントリを複製しようとしていたとするたびに上がった我々注文しました。そこで私はeav_entity_storeに行き、increment_last_idを私たちの最後の注文(100000117)よりも1つ高く変更しました。

キャッシュを再索引付けしてクリアしました。しかし、今私は100000001を複製しようとすることを除いて、この同じエラーが発生しています。何回試みても、最初の注文番号を複製しようとします。私は戻ってチェックし、私たちが試したトランザクションごとにincrement_last_idが正しく立ち上がっていますが、100000001を複製するこのエラーは続きます。あなたは次のことを試すことができ

TRUNCATE dataflow_batch_export ; 
TRUNCATE dataflow_batch_import ; 
TRUNCATE log_customer ; 
TRUNCATE log_quote ; 
TRUNCATE log_summary ; 
TRUNCATE log_summary_type ; 
TRUNCATE log_url ; 
TRUNCATE log_url_info ; 
TRUNCATE log_visitor ; 
TRUNCATE log_visitor_info ; 
TRUNCATE log_visitor_online ; 
TRUNCATE report_event ; 

それとも

答えて

0

はあなたのエラーを解決するには、次のコードを使用します。アプリ/コード/コア/メイジ/販売/モデル/リソースで

/Quote.php

isOrderIncrementIdUsed方法その方法では

ため

検索は、交換してください

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

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

希望しますが、これら2つの解決策のいずれかが問題を解決します。

他のお気軽にお問い合わせください!

+0

お返事ありがとうございます。私は両方のアプローチを試しても効果はありませんでした。私がSQL文字列を実行したときに、サーバは "MySQLは空の結果セットを返しました(つまりゼロ行)。すべての行についてまた、トランザクションを「保存されたCC」として実行すると、トランザクション番号を持つ注文が作成されます。 – Remie

+0

私はちょうどeav_entity_storeに私は1つの行とその注文があることに気づいた。私は請求書のためにここに別の行を付けるべきですか? – Remie

0

問題が解決しました。

何らかの理由で、私はeav_entity_storeに3つの行がありませんでした。これらの行の1つは請求書用であり、必要でした。

以前のデータベースから正常に行をエクスポート/インポートできなかったため、番号をコピーして適切な番号のテーブルを手動で作成しました。

関連する問題