magento无法重新索引产品属性

时间:2013-01-17 06:07:56

标签: mysql magento magento-1.7

当我从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

我知道如何解决这个问题?它没有告诉我哪个表有重复的条目。

由于

3 个答案:

答案 0 :(得分:1)

我确信自从发布这个问题以来你已经继续前进,但由于它有~2500次观看(并且这里的答案对我有帮助),我将添加我发现的分辨率。 这不需要截断任何数据库表甚至任何直接SQL查询

昨晚,我遇到了同样的问题。我的错误与您的错误相同(除了引用问题的产品和属性的数字)。如果您在管理员的“管理产品”部分中重新保存该产品(无需更改,只需打开它进行编辑并单击“保存”),它将解决问题 - 但您很可能会有更多产品带来其他类似的错误。

在我的情况下,1个产品不仅仅是一个问题,还有数百个产品导致错误(每个产品都保存了一个新产品)。它并非都具有相同的属性(我在上次导入的过程中更新了超过4,000种产品的数据库中的多个属性)。

因为一切似乎都在数据库中正确存在(因为重新保存似乎正在修复它并将最终数据提供给最终保存的产品),我有了一个想法。

为什么不导出所有4k产品,然后重新导入同一个文件而不进行修改,看看是否清除它。

有效!

tl;博士:如果您在需要重新保存多个产品时遇到此问题,请导出整个广告资源(如果您可以以有用的方式细分,则导出相关部分),然后重新导入相同的文件没有修改。

我正在使用Magento v 1.9.0.1

答案 1 :(得分:0)

首先尝试清理Magento缓存。如果没有成功,请运行official DB repair tool

答案 2 :(得分:0)

解决方案是运行以​​下MySQL查询:

TRUNCATE TABLE `catalog_product_flat_1`;
TRUNCATE TABLE `catalog_product_flat_2`;
TRUNCATE TABLE `catalog_product_flat_3`;