Ich verwende mysql (5.0.32-Debian_7etch6-lügt) und ich habe einen nächtlichen Lauf Bulk Load php bekomme (5.2.6) Skript (unter Verwendung von Zend_DB (1.5.1) über PDO), das macht folgendes:mysql doppelte Eintrag Fehler, wenn es kein doppelter Eintrag (bulk Last über php)
- einen Satz von 4 'Import' Tabellen Verkürzen
- bulk Daten in diese 4 'Import' Tabellen Einfügen (Wiederbenutzung von IDs, die zuvor in den Tabellen waren, aber ich habe die ganze Tabelle gekürzt, so dass kein Problem sein sollte, richtig ?)
- Wenn alles gut geht, benennen Sie die "Live" -Tabellen in 'temp', die 'Import' -Tabellen in 'live' und dann die 'temp' (alt 'live') -Tabellen zum 'Importieren'
Das funktionierte großartig seit Wochen. Jetzt bin ich occassionally dies immer, irgendwo in der Mitte des gesamten Bulkbeladung Prozesses:
SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '911' for key 1
Wohlgemerkt, dass dies nicht das erste ID ist, die vor dem Abschneiden bereits in der Tabelle waren. Wenn ich das Skript manuell neu starte, funktioniert es wie ein Zauber.
Irgendwelche Ideen? übrig gebliebene Indizes, vielleicht etwas mit der Umbenennung zu tun?
Darüber hinaus, wenn ich die Tabelle für einen Eintrag mit der ID 911 später überprüfen, ist es nicht einmal da drin.