Zu 1452 - Cannot add or update a child row

Nachdem ich mich jetzt einen halben Tag in einer Test-VM mit dem Fehler „1452 - Cannot add or update a child row“ rumgeschlagen habe:
http://community.shopware.com/Foreign-Keys-reparieren_detail_954.html
Den letzten Absatz …CONSTRAINED FAILED… FOREIGN KEY (‚articleID‘)… kann man auch noch um einen Fix auf die s_article_details erweitern.
Verwaiste Einträge in dieser Tabelle dort führen zum gleichen Fehler, nur das ganz oben im Error-Log klein articledetailsID steht.
Wird ein Import mit einer ordenumber durchgeführt, die mit einem verwaisten Eintrag in s_articles_details  identisch ist, wird ein Fehler mit „Integrity constraint violation: 1452 Cannot add or update a child row: a foreign key constraint fails (bitnami_shopware.**s\_articles\_attributes**, CONSTRAINT **s\_articles\_attributes\_ibfk\_1** FOREIGN KEY (articleID) REFERENCES s\_articles (id) ON DELETE CASCADE ON UPDATE NO ACTION)“ geworfen. Da kann man 100 Mal die foreign keys für s_articles_attributes  reparieren - man muss nur den SQL-Befehl auf  s_articles_details  anwenden - und schon läuft der Import wieder. Wink

Vielleicht könnte man die Reparatur-Anleitung noch ergänzen .

Danke, hat mein Problem gefixt. Sollte wirklich mal jemand von Shopware dort ergänzen. 

Bei mir kam die Meldlung leider ohne verwaiste Datensätze. Die Ursache hab ich nicht ermitteln können aber die Lösung war den Contraint zu löschen und identisch wieder herzustellem.

ALTER TABLE s_user_attributes DROP FOREIGN KEY s_user_attributes_ibfk_1;

ALTER TABLE s_user_attributes ADD CONSTRAINT s_user_attributes_ibfk_1 FOREIGN KEY (userID) REFERENCES shopware.s_user(id) ON DELETE CASCADE ON UPDATE NO ACTION;

Drei weitere s_user Tabellen hatten das selbe Problem.

DELETE ca -- SELECT ca.*
FROM `s_order_attributes` ca 
LEFT JOIN s_order c
ON c.id = ca.orderId 
WHERE c.id IS NULL;

DELETE ca -- SELECT ca.*
FROM `s_order_details` ca 
LEFT JOIN s_order c
ON c.id = ca.orderId 
WHERE c.id IS NULL;

Ich hatte den gleichen Fehler mit s_order bei einem Update einer 5.5 auf die letzte 5.6. Folgendes hat geholfen: