0

Index ManagementからReindexを実行すると、「インデクサープロセスを初期化できません」というエラーが表示されます。

したがって、次の記事に基づいて http://jasonehmke.com/ecommerce/cannot-initialize-the-indexer-process-in-magento/

走った

php -f indexer.php reindexall 

次の出力が得られました:

Product Prices index was rebuilt successfully
Catalog URL Rewrites index was rebuilt successfully
Product Flat Data index was rebuilt successfully
Category Flat Data index was rebuilt successfully
Category Products index was rebuilt successfully
Catalog Search Index index was rebuilt successfully
Stock Status index was rebuilt successfully
Tag Aggregation Data index was rebuilt successfully

Product Attributes index process unknown error:

exception 'PDOException' with message 'SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '65-542-1-65' for key 'PRIMARY'' in /home/bizzosph/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 '65-542-1-65' for key 'PRIMARY'' in /home/bizzosph/public_html/lib/Zend/Db/Statement/Pdo.php:234

これを修正するにはどうすればよいですか?どのテーブルに重複エントリがあるかはわかりません。

ありがとう

4

3 に答える 3

1

この質問を投稿してから先に進んだと思いますが、約 2500 回のビューがあるため (ここでこの回答が役に立ちました)、見つけた解決策を追加します。 これには、データベース テーブルや直接の SQL クエリを切り捨てる必要はありません

昨夜、私は同じ問題を抱えていました。私のエラーはあなたのものと同じでした(問題の原因となっている製品と属性を参照する番号を除いて). その製品を管理画面の [製品の管理] セクションに移動して再保存すると (変更する必要はありません。編集するために開いて [保存] をクリックするだけです)、問題は解決しますが、より多くの製品が必要になる可能性が非常に高くなります。追加の同様のエラー。

私の場合、1 つの製品だけの問題ではなく、数百の製品でエラーが発生しました (保存されるたびに新しい製品が発生しました)。また、すべてが同じ属性ではありませんでした (前回のインポートで、4,000 を超える製品のデータベース全体で複数の属性を更新しました)。

実際にはすべてが正しくデータベースにあるように見えたので (再保存すると修正され、最終的に保存された製品に適切なデータが与えられたように見えたので)、私には考えがありました。

すべての 4k 製品をエクスポートしてから、同じファイルを変更せずに再インポートして、それがクリアされるかどうかを確認してください。

出来た!

tl;dr: 複数の製品を再保存する必要があるという問題が発生している場合は、在庫全体 (または、便利な方法でセグメント化できる場合は関連するセクション) をエクスポートし、同じファイルを変更せずに再インポートします。 .

私はMagento v 1.9.0.1を使用しています

于 2014-09-19T20:37:56.977 に答える
0

最初にMagentoキャッシュをクリーンアップしてみてください。成功しない場合は、公式のDB修復ツールを実行します

于 2013-01-17T08:10:23.767 に答える
0

解決策は、次の MySQL クエリを実行することです。

TRUNCATE TABLE `catalog_product_flat_1`;
TRUNCATE TABLE `catalog_product_flat_2`;
TRUNCATE TABLE `catalog_product_flat_3`;
于 2013-06-10T12:39:37.390 に答える