bei import "fehlende" autoincrementierte datensätze prüfen?
Raik
- datenbank
hallo
ich helfe gerade jemandem, nach einem servercrash sein backup wieder in die datenbank einzuspielen. da er dazu nur den phpmyadmin zur verfügung hat, ist das wegen dem timeout etwas schwierig.
erstellt hat der phpmyadmin das backup vorher in _einer_ 52 mb grossen datei.
wir haben jetzt immer abschnittsweise die sql-befehle aus der datei in den admin kopiert und ausgeführt. dabei hat er sich aber an den datensätzen einer grossen tabelle (gesamt ca. 18 mb) anscheinend verschluckt. es fehlen in der fortlaufenden folge (autoincrement) immer wieder datensätze.
gibt es eine möglichkeit, sich mit einer sql-abfrage die _fehlenden_ nummern im bereich von z.b. 1 bis 7221 anzeigen zu lassen?
also: 55,56,57,104,208,209,210,211,212,3001 ....
oder sogar als "fehlende bereiche": 55-57,104,208-212,3001 ...
sonst müssten wir wohl 14 mb löschen und alles nochmal von vorne machen mit der tabelle.
oder gibt es evtl. ein tool für solche importe, das eine so grosse datei automatisch in "handliche stückchen" für den admin zerlegt und ihn damit füttert?
die suche ist wieder ausgelastet, hab nur ein mal drei ergebnisse bekommen und die haben nicht weitergeholfen. ;-(
freundl. grüsse, raik
Hi Raik
Probiere mal diese Teil hier:
Anpassen und es müßte laufen.
<?php
// Bitte hier Ihre Daten eintragen
$host= 'localhost';
$user= '';
$pass= '';
$db= '';
// Befehl ausführen
system(sprintf(
'mysql -h %s -u %s -p%s %s < ./fielname.sql',
$host,
$user,
$pass,
$db
));
echo '+DONE';
?>
In diesem Zusammenhang nochmals eine Frage:
Jemand hatte ein Tool für Backups MYSQL und Dateien gebaut.
Wenn mich nicht alles täuscht war dies aus der Nürnberger Ecke.
Könnte mir derjenige mal diese Tool zur Verfügung stellen?
Vielen Dank und viele Grüße TomIRL
Hello,
abgesehen, dass das so nicht optimal ist...
Zum Thema "Lücken finden in Nummernkreisen" hatte ich neulich erst 'was geschrieben. Man muss für den zu durchsuchenden Bereich eine Nummerntabelle mit geschlossenem Nummernkreis erzeugen. Dann geht das mit einem SQL-Stamenent. Stichwort: Left outer Join ... not null
Liebe Grüße aus http://www.braunschweig.de
Tom
Hi Raik,
Würde mich ja mal interessieren ob es funktioniert hat.
Ich habe bishger nur 15MB damit importiert.
Und das ging problemlos.
Kam ein Timeout?
Dann würde ich die max_execution_time hoch setzen!?
Viele grüße TomIRL
Hallo TomIRL,
Würde mich ja mal interessieren ob es funktioniert hat.
habs in meine sammlung mit aufgenommen, aber nicht mehr eingesetzt, weil über nacht jemand anderes fast alles fertig gemacht hat bis auf die tabelle, wo es bei mir schief ging. die hat er inzwischen gelöscht und ist dabei, immer 50 inserts per hand einzufügen ... (armes mensch, das )
hab mir auch das sql-statement von tom rausgesucht und gespeichert zum lernen. :-)
trotzdem nochmal vielen dank!
freundl. Grüße aus Berlin, Raik