Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
[MySQL 4.1] Doppelte Einträge aus dem Datenbank-Backup sollen übersprungen werden! [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr
brauche Webseite ideal für Vereine und Firmen
- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
[MySQL 4.1] Doppelte Einträge aus dem Datenbank-Backup sollen übersprungen werden!


 
ffjj
15-03-2008, 14:59 
 
Hallo,

Ich möchte ältere Datensätze aus einer Backup-Datei in die aktuelle Fassung der selbigen Datenbank aufnehmen.

Das Problem dabei ist, dass einige Datensätze aus der Backup-Datei bereits in der aktuellen Fassung der Datenbank vorhanden sind (natürlich mit ihren eindeutigen Primary Keys). Daher ist eine fehlerfreie Wiederherstellung nicht möglich.

Nun meine Frage:

Gibte es eine Funktion oder eine andere Möglichkeit, dass MySQL die doppelten Datensätze aus dem Backup einfach ignoriert und zum nächsten Datensatz springt, so dass nur die Datensätze aus der Backup-Datei in die Datenbank eingetragen werden, die sich noch nicht darin befinden???

Danke

 
ZombieChe
15-03-2008, 16:27 
 
mhm,. wenn di PKs gleich sind (konnt ich jetzt nicht ganz herauslesen), dann könntest du ja erst in eine temporäre Tabelle wiederherstellen und dann mit
INSERT IGNORE INTO ... SELECT
aus der temp. Tabelle in die bestehende einfügen. Einträge mit gleichen PKs sollten da übersprungen werden. Das wäre, was mir spontan einfällt, aber vielleicht gehts ja auch noch einfacher...

- -

Alle Zeitangaben in WEZ +2. Es ist jetzt 23:22 Uhr.