Ich bekomme immer wieder diese Fehlermeldung unter phpMyAdmin wenn ich die update_1.0.5.0_to_1.0.6.0.sql Datei importieren möchte:
Fehler
SQL
-Befehl
:#DokuMan - 2011-03-28 - Added address_format for Taiwan, Ireland, China and Great Britain
# 1 - Default, 2 - USA, 3 - Spain, 4 - Singapore, 5 - Germany , 6 - Ireland/Taiwan, 7 - China, 8 - UK/GB
INSERT INTO address_format
VALUES
( 6, '$firstname $lastname$cr$streets$cr$city $state $postcode$cr$country', '$country / $city' ) ;MySQL meldet
: Dokumentation
#1062 - Duplicate entry '6' for key 'PRIMARY'
Möchte hier mal einhaken bzgl. des SQL Fehlers.
Bei mir gabs einen ähnlichen SQL Fehler mit Duplicate entry for key 'Primary', nur an einer anderen Stelle.
Ich denke, dass wird so manchem passieren, deswegen mein Lösungsansatz, der zumindest in meinem Fall geholfen hat.
Der Import der update_1.0.5.0_to_1.0.6.0.sql bricht an der Stelle ab, an der die Fehlermeldung kommt.
Man kann diese Datei in einem Editor öffnen und sucht dann nach der entsprechenden Stelle. In diesem Fall wäre es:
INSERT INTO address_format
VALUES ( 6, '$firstname $lastname$cr$streets$cr$city $state $postcode$cr$country', '$country / $city' ) ;
Ich habe die darauf folgenden SQL Statements in der Datei von "INSERT INTO" auf "UPDATE" geändert, um das Primary Key Problem zu umgehen. Danach habe ich alle Zeilen der update_1.0.5.0_to_1.0.6.0.sql ab der Zeile, in der ich "INSERT INTO" auf "UPDATE" geändert habe, bis zum Ende markiert und kopiert.
Danach im phpmyadmin in der Navigation auf SQL und dort die kopierten Zeilen eingefügt und unten rechts auf OK. Dann liefen auch diese Befehle erfolgreich durch und der Shop hat auf den ersten Blick funktioniert.
Da ich kein SQL-Checker bin, weiß ich allerdings nicht, ob ich durch diese Vorgehensweise evtl. Einträge überschrieben habe, die wichtig wären. Deshalb will ich auch nicht behaupten, dass das eine gangbare Lösung ist. In meinem Fall scheint es funktioniert zu haben.
Wenn man das Update mit Hilfe der update.php macht, kann es sein, dass es zu Problemen beim SQL Import kommt. Das Script sagt einem dann nicht, was genau schief lief. Deshalb mache ich das, was die update.php leistet, lieber manuell. Soll heißen, ich lösche die relevanten Dateien von Hand und importiere die update_1.0.5.0_to_1.0.6.0.sql über phpmyadmin manuell. Dann sehe ich, wo beim Import was quer läuft.
Natürlich ist es schwierig bis unmöglich, eine update.php zu schreiben, die alle erdenklichen Fehler abfängt. Wenn man mit einem Open Source Shopsystem arbeitet, darf man nicht erwarten, dass alles mit einem Klick perfekt funktioniert. Man sollte sich schon in die Materie einarbeiten und ein gewisses technisches Verständnis dafür entwickeln.
Dank dieses Forums durfte ich schon viel lernen und möchte mich an dieser Stelle bei den Entwicklern und allen beteiligten im Forum bedanken.
Gruß
gerhard