wir wollten eine Kopie von einem Shop erstellen (selber Server, selbe Datenbankkonfiguration).
Jetzt bekommen wir beim Import der SQL Datei folgende Fehlermeldung:
--
-- Constraints der Tabelle `pickware_shipping_carrier`
--
ALTER TABLE `pickware_shipping_carrier`
ADD CONSTRAINT `pickware_shipping_carrier.fk.return_label_mail_template` FOREIGN KEY (`return_label_mail_template_type_technical_name`) REFERENCES `mail_template_type` (`technical_name`) ON DELETE SET NULL ON UPDATE CASCADE
MySQL meldet:Dokumentation
#1005 - Kann Tabelle `COPYOF023`.`pickware_shipping_carrier` nicht erzeugen (Fehler: 150 "Foreign key constraint is incorrectly formed") (Details…)
was dazu führt das man keine Versandetiketten mehr erstellen kann:
Beim Starten des Vorgangs ist ein Fehler aufgetreten: An exception occurred while executing a query: SQLSTATE[HY000]: General error: 1267 Illegal mix of collations (utf8mb4_general_ci,IMPLICIT) and (utf8mb4_unicode_ci,IMPLICIT) for operation '='
Für die Fehlermeldung bei „Alter“ schau mit SHOW ENGINE INNODB STATUS nach dem Foreign Key Error , dort steht wahrscheinlich eine Ursache.
Bei der Erzeugung der Versandetiketten ist der Fehler eigentlich eindeutig: du verwendest verschiedene collation (Zeichensätze) in den Tabellen. Das sollte immer sein: utf8mb4_unicode_ci
Setz diese bei den betroffenen Tabellen neu und bei der DB als Default.
Danke für deine Antwort. SHOW ENGINE INNODB STATUS hatte ich anscheinend über phpMyAdmin keine Berechtigung
Das war jetzt eine schwere Geburt. Durch das Ändern der Zeichensätze über phpMyAdmin hatten wir keinen Erfolg.
Die Lösung war etwas aufwändiger: Einfach mal eine neue Datenbank erstellt, utf8mb4_unicode_ci als Standard gesetzt, eine Kombination aus dem alten .sql Backup und neuem .sql Back zusammengewürfelt - jetzt klappt alles wieder
Alte und neue Backup mussten halt zusammengewürfelt werden, da der Fehler erst nach dem WE aufgefallen ist und über das WE noch Bestellungen und Änderungen an der Seite durchgeführt wurden