phpbar.de logo

Mailinglisten-Archive

[php] Import von csv in nicht vorhandene Tabelle

[php] Import von csv in nicht vorhandene Tabelle

Henning php_(at)_phpcenter.de
Mon, 29 Apr 2002 12:17:12 +0200


Bertram Simon wrote:

> Hallo Friedhelm,
>
>
>>Mit Sicherheit nicht dein Textfile,  da stehen doch nur Daten
>>
>
> Wieso, in den csv-Dateien stehen ja auch die Feldnamen und Werte drin.




was meinst du mit "Werte"? ist doch dasselbe wie "Daten" oben, oder?

Dass die Feldnamen schon im csv drin stehen hast du bisher nicht
erwähnt, genauso wie Du bisher keine Information über Herkunfts. und
Zieldatenbank gegeben hast, was beides nicht unwesentlich ist,
vielleicht gibt es für dein problem eine bessere, andere lösung.

grundsätzlich schliesse ich mich aber wolfgang an und meine dass das
eigentlich nur mit SQL vernünftig gehtm und dann nur wenn die
Herkunftsdatenbank SQL erzeugen kann das von der Ziel Datenbank
verstanden wird, denn leider ist SQL nicht gleich SQL.


> Vielleicht gibt es ja schon ein Script, welches z.B. uber RegEx den Inhalt

 > checkt und dann die Tabelle dementsprechend anlegt.

wie soll ein regulärer Ausdruck erkennen welchen Datentyp du für eine
Splate, jetzt und auf Dauer brauchst?

nehmen wir nur mal Postleitzahlen als Beispiel. Eine Postleitzahl
besteht nur aus Zahlen, also schreibt man sie in ein Feld vom Typ
integer, richtig?

hat nur den dummen nebeneffekt das einige Ostdeutsche Städte die
führende 0 in der Postleitzahl abgeschnitten bekommen.

Das gleiche gilt für Telefonnummern.

und was ist mit feldlänge?

bei deinem ersten immport hast du in einer ID Spalte nur Werte die
maximal dreistellig sind, also benutzt dein Script für die Spalte einen
Dreistelligen INteger Typ.

und nach dem dritten Import hast Du richtig Ärger weil deine ID's
plötzlich vierstellig sind.

das sind eigentlich schon genug beispiele die möglichkeit eines
automatismus wie du ihn dir vorstellst auszuschliessen, zumindest mit
einem vernünftig erscheinenden Aufwand.

ich kann aber mein beispiel aus der ersten Antwort noch erweitern und
sagen, du könntest auch relativ einfach was machen dass ein script die
werte in der zweiten zeile der csv datei liest und die als
Datentypangaben für die spalten nimmt.

aber wo bleibt dann noch der automatismus, wenn du dir doch selbst die
datentypen überlegen und da rein schreiben musst?

henning


php::bar PHP Wiki   -   Listenarchive