Вопрос

Я получаю следующую ошибку, пытаясь переоценить базу данных 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, а затем повторно. Это вызвано не существующими продуктами, которые все еще присутствуют в таблице.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с magento.stackexchange
scroll top