製品属性を再インデックスできませんでした


8

「製品属性」のインデックスを再作成しようとしているときに、このエラーを受け取りました。誰もが提案できますか、問題と考えられる解決策は何ですか

致命的エラー:キャッチされない例外 'PDOException'とメッセージ 'SQLSTATE [23000]:整合性制約違反:1062 E:\ xampp \ htdocs \ magento \ lib \のキー' PRIMARY 'のエントリ' 2828-148-1-471 'が重複していますZend \ Db \ Statement \ Pdo.php:228スタックトレース:#0 E:\ xampp \ htdocs \ magento \ lib \ Zend \ Db \ Statement \ Pdo.php(228):PDOStatement-> execute(Array)#1 E :\ xampp \ htdocs \ magento \ lib \ Varien \ Db \ Statement \ Pdo \ Mysql.php(110):Zend_Db_Statement_Pdo-> _ execute(Array)#2 E:\ xampp \ htdocs \ magento \ app \ code \ core \ Zend \ Db \ Statement.php(291):Varien_Db_Statement_Pdo_Mysql-> _ execute(Array)#3 E:\ xampp \ htdocs \ magento \ lib \ Zend \ Db \ Adapter \ Abstract.php(480):Zend_Db_Statement-> execute(Array) #4 E:\ xampp \ htdocs \ magento \ lib \ Zend \ Db \ Adapter \ Pdo \ Abstract.php(238):Zend_Db_Adapter_Abstract-> query( 'INSERT INTOca...', Array) #5 E:\xampp\htdocs\magento\lib\Varien\Db\Adapter\Pdo\Mysql.php(428): Zend_Db_Adapter_Pdo_Abstract->query('INSERT INTOca ... '、Array)#6 E:\ xampp \ htdocs \ magento \ lib \ Varien \ Db \ Adapter \ Pdo \ Mysql.php(1998):Varien_Db_Adapter_Pdo_Mysql in E:\ xampp \ htdocs \ magento \ lib \ Zend 234行目の\ Db \ Statement \ Pdo.php


phpmyadmin経由でデータベースをインポートしましたか?
Flyingmana 2014

いいえ、プログラムで製品を追加しているだけです。@ Flyinglama
Prashanta

回答:


15

エラーメッセージの見方

SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '2828-148-1-471' 
for key 'PRIMARY

商品属性インデクサーの場合、これは、レコードをcatalog_product_index_eav_idxテーブルに保存しているときに制約エラーが発生したことを意味します。

2828-148-1-471 以下を参照:

  • 製品エンティティID:2828
  • 属性ID:148
  • ストアID:1
  • 値:471

問題の考えられる原因

問題の原因となっている属性のタイプが複数選択であると想定しています。製品に複数回リンクされている値は、このタイプのエラーを引き起こします。

これを確認するには、次のクエリを実行します。

SELECT * FROM `catalog_product_entity_varchar` 
where entity_id = 2828 and attribute_id = 148 and store_id = 1;

列にID 471が複数回リストされると思いますvalue。すべてのIDは、その列に1回だけリストされます。

インポーターを使用して製品データをMagentoに追加していますか?


はい、それはインチーのシンプルな製品プログラムによるインポートです
Prashanta

これに対するすべての解決策、はい、それは複数選択です
Prashanta 2014

7

以下の解決策は私のために働き、他の人を助けるかもしれません:

2828-148-1-471は以下を参照します:

製品エンティティID:2828属性ID:148ストアID:1値:471

ID 2828の製品を開いて保存し、再度インデックスを作成してください。

それはあなたの問題を解決するかもしれません


一括更新のソリューションは何ですか?
DarkCowboy 2016年

3

私はそれを得た、それは複数選択のドロップダウン属性の問題でした、私のスクリプトでは、時々同じ属性が何度も追加されてエラーを引き起こしていました、将来助けが必要な場合誰かにこの回答を投稿しました

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.