gpt4 book ai didi

php - 在 Magento 1.9.1.1 中重新索引类别产品时出现问题

转载 作者:行者123 更新时间:2023-11-29 12:08:19 25 4
gpt4 key购买 nike

我正在 CLOUDLINUX 6.6 x86_64 标准上运行 Magento 1.9.1.1 - cpanel WHM 11.48.4(构建 4)。

运行“php indexer.php --reindex Catalog_category_product”时出现以下错误:

Category Products index process unknown error:
exception 'PDOException' with message 'SQLSTATE[23000]: Integrity constraint violation: 1452 Cannot add or update a child row: a foreign key constraint fails (`account_mage142`.`mg_catalog_category_product_index`, CONSTRAINT `FK_MG_CAT_CTGR_PRD_IDX_CTGR_ID_MG_CAT_CTGR_ENTT_ENTT_ID` FOREIGN KEY (`category_id`) REFERENCES `mg_catalog_category_entity`)' in /home/account/public_html/magento/lib/Zend/Db/Statement/Pdo.php:228
Stack trace:
#0 /home/account/public_html/magento/lib/Zend/Db/Statement/Pdo.php(228): PDOStatement->execute(Array)
#1 /home/account/public_html/magento/lib/Varien/Db/Statement/Pdo/Mysql.php(110): Zend_Db_Statement_Pdo->_execute(Array)
#2 /home/account/public_html/magento/app/code/core/Zend/Db/Statement.php(291): Varien_Db_Statement_Pdo_Mysql->_execute(Array)
#3 /home/account/public_html/magento/lib/Zend/Db/Adapter/Abstract.php(480): Zend_Db_Statement->execute(Array)
#4 /home/account/public_html/magento/lib/Zend/Db/Adapter/Pdo/Abstract.php(238): Zend_Db_Adapter_Abstract->query('INSERT INTO `mg...', Array)
#5 /home/account/public_html/magento/lib/Varien/Db/Adapter/Pdo/Mysql.php(428): Zend_Db_Adapter_Pdo_Abstract->query('INSERT INTO `mg...', Array)
#6 /home/account/public_html/magento/app/code/core/Mage/Index/Model/Resource/Abstract.php(179): Varien_Db_Adapter_Pdo_Mysql->query('INSERT INTO `mg...')
#7 /home/account/public_html/magento/app/code/core/Mage/Index/Model/Resource/Helper/Mysql4.php(49): Mage_Index_Model_Resource_Abstract->insertFromSelect(Object(Varien_Db_Select), 'mg_catalog_cate...', Array, false)
#8 /home/account/public_html/magento/app/code/core/Mage/Index/Model/Resource/Abstract.php(153): Mage_Index_Model_Resource_Helper_Mysql4->insertData(Object(Mage_Catalog_Model_Resource_Category_Indexer_Product), Object(Varien_Db_Select), 'mg_catalog_cate...', Array, false)
#9 /home/account/public_html/magento/app/code/core/Mage/Index/Model/Resource/Abstract.php(113): Mage_Index_Model_Resource_Abstract->insertFromTable('mg_catalog_cate...', 'mg_catalog_cate...', false)
#10 /home/account/public_html/magento/app/code/core/Mage/Catalog/Model/Resource/Category/Indexer/Product.php(935): Mage_Index_Model_Resource_Abstract->syncData()
#11 /home/account/public_html/magento/app/code/core/Mage/Index/Model/Indexer/Abstract.php(143): Mage_Catalog_Model_Resource_Category_Indexer_Product->reindexAll()
#12 /home/account/public_html/magento/app/code/core/Mage/Index/Model/Process.php(212): Mage_Index_Model_Indexer_Abstract->reindexAll()
#13 /home/account/public_html/magento/app/code/core/Mage/Index/Model/Process.php(260): Mage_Index_Model_Process->reindexAll()
#14 /home/account/public_html/magento/shell/indexer.php(167): Mage_Index_Model_Process->reindexEverything()
#15 /home/account/public_html/magento/shell/indexer.php(215): Mage_Shell_Compiler->run()
#16 {main}

下一个异常“Zend_Db_Statement_Exception”,消息为“SQLSTATE[23000]:

Integrity constraint violation: 1452 Cannot add or update a child row: a foreign key constraint fails (`account_mage142`.`mg_catalog_category_product_index`, CONSTRAINT `FK_MG_CAT_CTGR_PRD_IDX_CTGR_ID_MG_CAT_CTGR_ENTT_ENTT_ID` FOREIGN KEY (`category_id`) REFERENCES `mg_catalog_category_entity`), query was: INSERT INTO `mg_catalog_category_product_index` (`category_id`, `product_id`, `position`, `is_parent`, `store_id`, `visibility`) SELECT `mg_catalog_category_product_index_idx`.`category_id`, `mg_catalog_category_product_index_idx`.`product_id`, `mg_catalog_category_product_index_idx`.`position`, `mg_catalog_category_product_index_idx`.`is_parent`, `mg_catalog_category_product_index_idx`.`store_id`, `mg_catalog_category_product_index_idx`.`visibility` FROM `mg_catalog_category_product_index_idx` ON DUPLICATE KEY UPDATE `category_id` = VALUES(`category_id`), `product_id` = VALUES(`product_id`), `position` = VALUES(`position`), `is_parent` = VALUES(`is_parent`), `store_id` = VALUES(`store_id`), `visibility` = VALUES(`visibility`)' in /home/account/public_html/magento/lib/Zend/Db/Statement/Pdo.php:235
Stack trace:
#0 /home/account/public_html/magento/lib/Varien/Db/Statement/Pdo/Mysql.php(110): Zend_Db_Statement_Pdo->_execute(Array)
#1 /home/account/public_html/magento/app/code/core/Zend/Db/Statement.php(291): Varien_Db_Statement_Pdo_Mysql->_execute(Array)
#2 /home/account/public_html/magento/lib/Zend/Db/Adapter/Abstract.php(480): Zend_Db_Statement->execute(Array)
#3 /home/account/public_html/magento/lib/Zend/Db/Adapter/Pdo/Abstract.php(238): Zend_Db_Adapter_Abstract->query('INSERT INTO `mg...', Array)
#4 /home/account/public_html/magento/lib/Varien/Db/Adapter/Pdo/Mysql.php(428): Zend_Db_Adapter_Pdo_Abstract->query('INSERT INTO `mg...', Array)
#5 /home/account/public_html/magento/app/code/core/Mage/Index/Model/Resource/Abstract.php(179): Varien_Db_Adapter_Pdo_Mysql->query('INSERT INTO `mg...')
#6 /home/account/public_html/magento/app/code/core/Mage/Index/Model/Resource/Helper/Mysql4.php(49): Mage_Index_Model_Resource_Abstract->insertFromSelect(Object(Varien_Db_Select), 'mg_catalog_cate...', Array, false)
#7 /home/account/public_html/magento/app/code/core/Mage/Index/Model/Resource/Abstract.php(153): Mage_Index_Model_Resource_Helper_Mysql4->insertData(Object(Mage_Catalog_Model_Resource_Category_Indexer_Product), Object(Varien_Db_Select), 'mg_catalog_cate...', Array, false)
#8 /home/account/public_html/magento/app/code/core/Mage/Index/Model/Resource/Abstract.php(113): Mage_Index_Model_Resource_Abstract->insertFromTable('mg_catalog_cate...', 'mg_catalog_cate...', false)
#9 /home/account/public_html/magento/app/code/core/Mage/Catalog/Model/Resource/Category/Indexer/Product.php(935): Mage_Index_Model_Resource_Abstract->syncData()
#10 /home/account/public_html/magento/app/code/core/Mage/Index/Model/Indexer/Abstract.php(143): Mage_Catalog_Model_Resource_Category_Indexer_Product->reindexAll()
#11 /home/account/public_html/magento/app/code/core/Mage/Index/Model/Process.php(212): Mage_Index_Model_Indexer_Abstract->reindexAll()
#12 /home/account/public_html/magento/app/code/core/Mage/Index/Model/Process.php(260): Mage_Index_Model_Process->reindexAll()
#13 /home/account/public_html/magento/shell/indexer.php(167): Mage_Index_Model_Process->reindexEverything()
#14 /home/account/public_html/magento/shell/indexer.php(215): Mage_Shell_Compiler->run()
#15 {main}

关于如何修复这些错误有什么想法吗?

最佳答案

有时,catalog_category_product 表中可能有一些不再属于 catalog_category_entity 的类别 ID。因此,如果以下查询返回任何结果,您就可以识别缺少的类别 ID:

SELECT
*
FROM
catalog_category_product AS a
LEFT JOIN catalog_category_entity AS b ON a.category_id = b.entity_id
WHERE
b.entity_id IS NULL
GROUP BY
a.category_id

之后,您可以使用以下方法从 catalog_category_productcatalog_category_product_index_idx 表中删除缺少的类别 ID:

DELETE
FROM
catalog_category_product
WHERE
category_id IN (Comma separated category ID)

DELETE
FROM
catalog_category_product_index_idx
WHERE
category_id IN (Comma separated category ID)

之后,再次运行索引。

关于php - 在 Magento 1.9.1.1 中重新索引类别产品时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31106904/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com