magento 1.7: ไม่สามารถสร้างดัชนีผลิตภัณฑ์ product_flat_data อีกครั้ง


10

ฉันได้รับข้อผิดพลาดต่อไปนี้ขณะที่พยายามทำดัชนีฐานข้อมูลคุณภาพเยี่ยมอีกครั้ง

ข้อผิดพลาดที่ไม่รู้จักกระบวนการดัชนีข้อมูลผลิตภัณฑ์แบน: ข้อยกเว้น 'PDOException' พร้อมข้อความ 'SQLSTATE [23000]: ข้อ จำกัด ด้านความสมบูรณ์> การละเมิด: 1452 ไม่สามารถเพิ่มหรืออัปเดตแถวลูก: ข้อ จำกัด กุญแจต่างประเทศล้มเหลว> ( d014505f., CONSTRAINT> FK_CAT_PRD_FLAT_1_ENTT_ID_CAT_PRD_ENTT_ENTT_IDFOREIGN KEY ( entity_id) ผู้อ้างอิงcatalog_product_entity(`e) 'ใน> /www/htdocs/w00f5624/lib/Zend/Db/Statement/Pdo.php:228

ฉันจะแก้ไขได้อย่างไร ??

คำตอบ:


28

ตามที่ระบุไว้อย่างถูกต้องโดย Sander ผลิตภัณฑ์ที่ถูกลบยังคงปรากฏในตารางผลิตภัณฑ์ทำให้เกิดข้อผิดพลาดนี้ อย่างไรก็ตามการตัดทอนตารางทั้งหมดไม่จำเป็น คุณสามารถค้นหาผลิตภัณฑ์เหล่านี้ได้จากแบบสอบถาม SQL นี้:

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 นี้:

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

ถามฉันหากคุณต้องการคำแนะนำเพิ่มเติม


Nice แบบสอบถามคุณใช้พวกเขาสำหรับงานล้างข้อมูลเป็นระยะหรือเฉพาะเมื่อจำเป็น?
Sander Mangel

ขอบคุณ :) เครดิตสำหรับเครดิตแรกเป็นของผู้เขียนลิงค์ ฉันใช้พวกเขาก็ต่อเมื่อเกิดข้อผิดพลาดซึ่งส่วนใหญ่เมื่อข้อมูลถูกลบโดยตรงจากฐานข้อมูลเช่นกับ MAGMI และพวกเขาก็ยังหายาก ฉันยังไม่ได้ใช้เป็นระยะ แต่ฉันคิดว่ามันจะเป็นไปได้ เมื่อคุณจัดการผลิตภัณฑ์ด้วยตนเอง Magento จะดูแลตารางดัชนีในการบันทึก / การลบ (เมื่อกำหนดค่าดัชนีอย่างเหมาะสม)
simonthesorcerer

คำอธิบายบางอย่างสามารถพบได้ที่นี่: catgento.com/…
Dmytro Zavalkin

@simonthesorcerer ขอบคุณมันช่วยให้ผมในการแก้ไขข้อผิดพลาดนี้ :)
Bijal Bhavsar

4

ฉันเคยมีปัญหานี้มาก่อน ฉันแก้ไขมันด้วยการตัดทอนตาราง product_flat_data และทำดัชนีใหม่อีกครั้ง มันเกิดจากผลิตภัณฑ์ที่ไม่มีอยู่ยังคงอยู่ในตาราง


สวัสดีซานเดอร์ฉันลองใช้วิธีแก้ปัญหาแล้ว แต่ไม่มีอะไรเกิดขึ้นสำหรับฉันฉันได้ตัดทอน catalog_product_flat_1 แล้ว แต่ตัวสร้างดัชนีสำหรับคุณลักษณะของผลิตภัณฑ์ไม่ทำงาน
Sarvagya
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.