MySQL import Duplicate entry

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • xares
  • Registratie: Januari 2007
  • Laatst online: 05-09 00:13
Ik ben bezig met het overzetten van een Magento webshop.
Bij de huidige hoster heb ik een mysqldump gemaakt via PHPmyadmin.

Echter lukt het importeren van de oude database niet.

Ik krijg de volgende error bij het importeren:
ERROR 1062 (23000) at line 4666: Duplicate entry 'knip-09-10.html-1' for key 'UNQ_CORE_URL_REWRITE_REQUEST_PATH_STORE_ID'
Die error zou je niet moeten kunnen krijgen lijkt mij? Omdat hij op de andere server ook duplicate zou moeten zijn? De database is 1 op 1 overgezet zonder aanpassingen.

Nu kan ik wel de keys weg halen maar dat lijkt mij niet de beste oplossing?

Oude host draait Mysql 5.0
Nieuwe host Mysql 5.5

Acties:
  • 0 Henk 'm!

  • _js_
  • Registratie: Oktober 2002
  • Laatst online: 18-08 21:31
Dan kijk je op regel 4666 wat er geïnsert wordt en wat er al in de database staat? En dan probeer je uit te zoeken waar het is misgegaan, ik zie "knip" staan, misschien is het opdelen fout gegaan? Je verwijdert die regel en probeert het opnieuw als je denkt dat het niet uitmaakt? Misschien heb je eerst Magento geïnstalleerd op de nieuwe host en bent toen de database gaan importeren terwijl magento al het een en ander in de database heeft gezet? Als er veel van dit soort problemen zijn alle inserts vervangen door insert ignores en later uitzoeken wat wel en wat niet is geïmporteerd?

Acties:
  • 0 Henk 'm!

  • jessy100
  • Registratie: November 2010
  • Laatst online: 09:07
Ik denk dat het veld UNQ_CORE_URL_REWRITE_REQUEST_PATH_STORE_ID Ai (Automatische ophoging) gebruikt in de database. dit zou je ff snel moeten controleren in de oude database. Vervolgens check je of het veld ook een relatie heeft. heeft dit veld geen relatie kun je gewoon in het sql script het id leeg laten, deze word dan ingevuld door de nieuwe database.

Dit zou als het goed is geen gevolgen moeten hebben voor het functioneren van de webshop.

Wat je ook zou kunnen doen is het ID in de nieuwe database op 0 zetten. kies maar.

Deze fout word waarschijnlijk veroorzaakt omdat magento van zich zelf, bij een schone installatie, al een gigantische database aan settings heeft. Mocht je er nu helemaal niet uitkomen kun je altijd de gehele database die op de nieuwe server staat weggooien en dan de oude erin knallen. Dat zou, in theorie, ook moeten werken.

[ Voor 42% gewijzigd door jessy100 op 24-07-2013 13:31 ]


Acties:
  • 0 Henk 'm!

  • Gtoniser
  • Registratie: Januari 2008
  • Laatst online: 07:45
Ik zou aan het begin van je import dump of voor je de import uitvoert eens het volgende commando toevoegen:
code:
1
SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";

Ik vermoed dat dat je probleem oplost :)

[ Voor 11% gewijzigd door Gtoniser op 24-07-2013 13:31 ]


Acties:
  • 0 Henk 'm!

  • jessy100
  • Registratie: November 2010
  • Laatst online: 09:07
Gtoniser schreef op woensdag 24 juli 2013 @ 13:31:
Ik zou aan het begin van je import dump of voor je de import uitvoert eens het volgende commando toevoegen:
code:
1
SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";

Ik vermoed dat dat je probleem oplost :)
Dan nog krijg je duplicates. Is mijn redenatie dan, omdat de huidige id reeds bestaat in de DB.

[ Voor 8% gewijzigd door jessy100 op 24-07-2013 13:34 ]


Acties:
  • 0 Henk 'm!

  • Gtoniser
  • Registratie: Januari 2008
  • Laatst online: 07:45
jessy100 schreef op woensdag 24 juli 2013 @ 13:33:
[...]


Dan nog krijg je duplicates. Is mijn redenatie dan, omdat de huidige id reeds bestaat in de DB.
In de source DB staan lijkt me geen duplicates, dat is niet mogelijk gezien de keys.
Wat er (denk ik) gebeurt is als deze mode niet aanstaat dat MySQL waarde 0 op een Auto Increment kolom als "geen waarde" ziet, en daar dus zelf 1 van maakt, wat een probleem geeft als je de volgende rij (die daadwerkelijk een 1 in de AI kolom heeft) probeert te importen.
Als je deze mode aanzet dan ziet hij AI 0 ook als 0 en zal hij dit gewoon invoeren.

Misschien is dit niet de oplossing hoor, maar het is wel het eerste wat in mij opkomt.

[ Voor 3% gewijzigd door Gtoniser op 24-07-2013 13:41 ]


Acties:
  • 0 Henk 'm!

  • Voutloos
  • Registratie: Januari 2002
  • Niet online
Je maakt nu een hoop aannames, maar als je de foutmelding goed leest, lees je dat de waarde 'knip-09-10.html-1' dubbel is. En dat lijkt me geen auto-increment. ;)

Voor dat iedereen verder gokt zou TS minstens aan moeten geven of de database op nieuwe locatie al deels gevuld was etc etc. Overigens weet ik wel dat als je bestaande data wilt gaan gebruiken je vóórdat je de Magento install wizard gaat doorlopen je db op orde moet hebben. Dit staat bijvoorbeeld ook zo gedocumenteerd bij de test dataset.

{signature}

Pagina: 1