Datenevaluierung

Begonnen von Darty, 06 August 2006, 20:19:42

⏪ vorheriges - nächstes ⏩

0 Mitglieder und 1 Gast betrachten dieses Thema.

Darty

Hallo Leuts.

Ich habe folgendes Problem.

Zunächst einmal schilder ich Euch meine Vorraussetzungen.

1. bestehende DB Inserts die im Pragma übernommen werden sollen
2. installiertes Pragma, dort sollen bestehende Daten aus einem anderen System übernommen werde, z.B. eine Usercommunity

Es stellt sich folgendes Problem dar.

Die Daten des vorhandenen Systems entsprechen nicht der Spaltenanzahl der Pragma DB.
Das bedeutet, dass einige Daten garnicht vorhanden sind und auch nicht über MYSQL Adminkonsole eingepflegt werden können.

Dort bekommt man dann logischer Weise die Fehlerausgabe:

Column count doesn't match value count at row 1


Was ja bedeutet, dass man weniger oder mehr Feldnamen angibt, als Werte eingetragen werden sollen.

Jetzt meine Frage:

Wie bekomme ich die Daten da trotzdem rein?

Muß ich wirklich die gesamte Struktur in die bestehende Tabelle übernehmen?

Ich muß dazu sagen, dass einige Felder eben nicht gefüllt sind und dem entsprechend ja keine Werte beinhalten können.

Greetings from Darty

RiotheRat

Aus welchem System stammen denn die Daten? Dann kann man vielleicht schon mal etwas mehr sagen. Wenn nicht öffentlich, dann gerne per PN. Im Prinzip bräuchte man aber einen DB-Dump um eine sichere Auskunft geben zu können.

RtR
Unaufgeforderte PNs & Emails werden ignoriert

Erst wenn die letzte Zeile Code verhunzt, der letzte Server gehackt und der letzte Script-Kidde befriedigt ist, erst dann, werdet Ihr feststellen, dass Nuke nicht sicher ist...

Darty

Genau da liegt der Hase im Pfeffer.

Die DB stammt aus einer komplett selbst gestrickten Seite ohne jeglichen Bezug zu Nukesystemen.

Der Dump ist soweit angepasst, dass die vorhandenen Daten in die Pragma DB passen würden.
Die Primärschlüßel, Uniques, VARCHAR usw. entsprechen genau den Pragmavorgaben.
Sprich die Daten die übernommen werden sollen sind schon den Anforderungen der Pragma DB angepasst.
Problem ist halt, dass nicht jedes Feld gefüllt ist und wird.

Es sollen auch nur der uname, email, user_sig, user_avatar und pass übernommen werden.
Die Daten selber sind entsprechend der  Umsetzung von Pragma hinterlegt.
Schaut man jetzt in die xxx_users Tabelle sind aber ja andere Felder erforderlich, die der Dump aber nicht her gibt.

Ich vermute mal die Tabellen per Script oder per Hand generieren lassen zu müßen.

Gruß Darty
Greetings from Darty

Andi

Hi :)

wenn die Tabellenspalten nicht übereinstimmen, dann müsstest du den Spaltennamen mit angeben.
Schau mal hier:
http://dev.mysql.com/doc/refman/4.0/de/handler.html
Denke das müsste weiterhelfen... ;)
schön´s Grüssle, Andi

Darty

#4
Danke Andi!

Das hat mich schonmal einen Schritt weiter gebracht.

Die Syntax müßte in etwa so lauten, um Daten mit nicht vollständigen Werten und Tabellen in eine vorhandene DB zu übernehmen.
INSERT INTO Tabellenname (uid, uname, pass, email, user_avatar, user_sig) VALUES (xxx xxx, xxx, xxx, xxx, xxx)
Die Werte können hierbei leer sein.
In diesem Fall werden die Vorgaben der DB in die leeren Felder gesetzt.
Zu beachten ist, dass die Anzahl der Werte mit der Anzahl der Felder übereinstimmen muß.
Hier das Beispiel mit uid, uname usw..

Riesen Nachteil an der ganzen Geschichte ist, dass man ohne Script die DUMPS nur händisch bearbeiten kann.
Das macht viel Arbeit bei einer doch recht großen DB.
In meinem Fall sind es da schon 26000 Einträge, die ich händisch anpassen müßte.

Kennt vlt. Jemand ein Script, welches diese Arbeit übernehmen könnte?

Mir spukt so ein Gedanke im Kopf, dass man in diesem Script expliziet die zu verwendende DB angeben kann und zusätzlich die Felder bzw. Spalten, die man übernehmen möchte auswählen kann.
Diese Form der Eva. ist ja nicht gerade üblich, obwohl ich mir vorstellen kann, dass schomal jemand auf diesen Gedanken gekommen ist.

Vielleicht gibt es son Projekt ja irgendwo und Ihr wisst wo.  ;) :)

Ein andere Lösung wäre das automatische Ersetzen mit einem Textverarbeitungsprogramm wir WordPad oder Word.

Gruß Darty
Greetings from Darty