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 查询

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

就我而言,这不仅仅是一种产品的问题,还有数百种产品导致错误(每个保存的产品都会带来一个新产品)。而且并非所有属性都具有相同的属性(我在上次导入时更新了包含 4,000 多种产品的数据库中的多个属性)。

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

为什么不导出所有 4k 产品,然后不加修改地重新导入相同的文件,看看是否可以清除它。

有效!

tl;dr:如果您在需要重新保存多个产品时遇到此问题,请导出您的整个库存(或相关部分,如果您可以以有用的方式进行细分),然后重新导入相同的文件而不进行修改.

我正在使用 Magento v 1.9.0.1

于 2014-09-19T20:37:56.977 回答
0

首先尝试清理 Magento 缓存。如果不成功,运行官方数据库修复工具

于 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 回答