Magento 1.7: не может реиндекс продукт
-
16-10-2019 - |
Вопрос
Я получаю следующую ошибку, пытаясь переоценить базу данных Magento ..
Продукт плоской процесс индекса данных Неизвестная ошибка: Исключение 'PdoException' с сообщением 'sqlState [23000]: ограничение целостности> Нарушение: 1452 не может добавить или обновить строку ребенка: ограничение иностранного ключа не удалось> (
d014505f
., Ограничение>FK_CAT_PRD_FLAT_1_ENTT_ID_CAT_PRD_ENTT_ENTT_ID
ИНОСТРАННЫЙ КЛЮЧ (entity_id
)> Ссылкиcatalog_product_entity
(`e) 'in>/www/htdocs/w00f5624/lib/zend/db/statement/pdo.php:228
Как это исправить??
Решение
Как правильно указано Sander, удаленные продукты все еще присутствуют в плоской таблице продукта, вызывают эту ошибку. В любом случае, усечение всей таблицы не потребуется. Вы можете найти эти продукты этим SQL-Query:
SELECT pf1.entity_id
FROM catalog_product_flat_1 pf1
LEFT JOIN catalog_product_entity p ON pf1.entity_id = p.entity_id
WHERE ISNULL( p.entity_id )
Затем вам придется удалить эти элементы, которые можно сделать с помощью этого SQL-Query:
DELETE pf1.*
FROM catalog_product_flat_1 pf1
LEFT JOIN catalog_product_entity p ON pf1.entity_id = p.entity_id
WHERE ISNULL( p.entity_id )
Взят отсюда (немецкий): http://www.avs-webentwicklung.de/nc/blog/artikel/magento-fehler-beim-index-aufbau-sofortmassnahmen.html
Спросите меня, нужно ли вам больше совета.
Другие советы
У меня была эта проблема раньше. Я решил его, усекнув таблицы Product_flat_data, а затем повторно. Это вызвано не существующими продуктами, которые все еще присутствуют в таблице.