AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi csv nach mysql Table
Thema durchsuchen
Ansicht
Themen-Optionen

csv nach mysql Table

Ein Thema von bl3nder · begonnen am 30. Mai 2007 · letzter Beitrag vom 30. Mai 2007
Antwort Antwort
bl3nder

Registriert seit: 18. Aug 2006
89 Beiträge
 
#1

csv nach mysql Table

  Alt 30. Mai 2007, 07:24
Datenbank: mysql • Version: 5.04 • Zugriff über: mysqlquery
Hallo,

Ich habe es mit folgenden Query Command geschafft eine .csv Datei in eine mysql Tabelle einzufuegen:
SQL-Code:
-LOAD DATA LOCAL INFILE '/home/www/servers/www.servername.de/tmp/import.csv'
        REPLACE
        INTO TABLE tabellenname
        FIELDS
                TERMINATED BY ';'
                OPTIONALLY ENCLOSED BY '"';
Leider ist beim Einfügen folgende Information verloren gegangen:

In der Spalte "ARTNR" (Artikelnummer) befinden sich verschiedene Zahlen. Da ich der Spalte vor dem Einfügen einem Integer(PK) als Typ gegeben habe, verkürzt er die nun eingefuegten Zellen, die mit einer 0 beginnen um eins. Beispiel:
Ein Datensatz hat in der Spalte ARTNR in der .csv Datei den Wert 01009999. Nach dem Einfuegen in die Datenbank, ist die Zeile auf 1009999 gekuerzt.

Lässt sich das vor dem Einfügen in irgendeiner Weiße verhindern ? Den Table, in der die Daten importiert werden, muss ja vorher schon die richtigen Spalten besitzen (zumindest habe ich das so gemacht) und eine dieser Spalten muss ja auch den PK tragen, sodass diese Spalte ein INT sein muss...
Oder gibt es ein entsprechenden SQL Befehl, der diese Problem hinterher beheben koennte ?
  Mit Zitat antworten Zitat
franktron

Registriert seit: 11. Nov 2003
Ort: Oldenburg
1.446 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#2

Re: csv nach mysql Table

  Alt 30. Mai 2007, 07:51
Um ehrlich zu sein NEIN es geht nur wenn das Feld ein Char ist aber du kannst ja die Anzeige in deinem Programm Fälschen und da die Führende Null anzeigen.

Außerdem ist das mit dem Primary INT nicht so ganz richtig mann kann auch ein Char Feld als Primary machen oder den Primary Index Anz Ende hängen.

Oder Ganz einfach die Import Tab gar kein Primary Index und dann das ganze in eine Andere Tab mit Autoinc Index Kopieren
Frank
Tux sein Lieblingsquellcode
While anzfische<TuxSatt do begin
Fisch:=TFisch.Create; Tux.EssenFisch(Fisch); Fisch.Free;inc(anzfische); end;
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:14 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz