CSV Import MySQL Tabelle
Hallo zussammen,
folgendes Problem ich möchte gerne inhalte aus einer CSV in eine Mysql Tabelle importieren
Tabellen Struktur
Leider Skipped er alles Folgende Warnings tauchen auf
Weis jemand wie ich das Inteligent lösen kann
Inhalt CSV
Import Code
load data local infile '/home/jannik/Dokumente/SQL_CSV_Import/csvconfluencetest.csv'
into table cwd_user
fields terminated by ';'
optionally enclosed by '"'
escaped by '"'
lines terminated by '\n'
(user_name, display_name, email_address);
folgendes Problem ich möchte gerne inhalte aus einer CSV in eine Mysql Tabelle importieren
Tabellen Struktur
Leider Skipped er alles Folgende Warnings tauchen auf
Weis jemand wie ich das Inteligent lösen kann
Inhalt CSV
Import Code
load data local infile '/home/jannik/Dokumente/SQL_CSV_Import/csvconfluencetest.csv'
into table cwd_user
fields terminated by ';'
optionally enclosed by '"'
escaped by '"'
lines terminated by '\n'
(user_name, display_name, email_address);
Please also mark the comments that contributed to the solution of the article
Content-ID: 618712
Url: https://administrator.de/contentid/618712
Printed on: October 5, 2024 at 03:10 o'clock
7 Comments
Latest comment
Hallo,
die Fehlermeldung besagt ja eig. schon alles, dein csv Datei hat zu wenig Einträge für eine Row.
Dafür gibt es jetzt 2 Lösungen:
die Fehlermeldung besagt ja eig. schon alles, dein csv Datei hat zu wenig Einträge für eine Row.
Dafür gibt es jetzt 2 Lösungen:
- Entweder deine Daten auf den Stand der Tabelle bringen, sprich die restlichen Spatlen mit '', auffüllen
- Deine Anweisung um das Columns Feld erweitern und die zu befüllenden Spalten angeben
LOAD DATA INFILE 'persondata.txt' INTO TABLE persondata
(col_name_or_user_var [, col_name_or_user_var] ...);
Hallo,
bau dir das ganze einfach mal lokal nach und spiel ein wenig rum, ich kann dir da jetzt keine Empfehlung geben.
Schneller wirst mit LOAD Data und der Column Angaben sein, wobei die csv datei aufmachen in Excel oder sonstigen Leerspalten mit überschrift rein und als csv speichern geht eig. auch recht flott.
bau dir das ganze einfach mal lokal nach und spiel ein wenig rum, ich kann dir da jetzt keine Empfehlung geben.
Schneller wirst mit LOAD Data und der Column Angaben sein, wobei die csv datei aufmachen in Excel oder sonstigen Leerspalten mit überschrift rein und als csv speichern geht eig. auch recht flott.
Hallo,
ich denke du hast deine Daten nicht ganz im Griff, ich hab dir das mal zusammengebaut, so funktioniert das im groben unter Mysql 5.6:
Tabelle:
CSV:
Qry:
Ergebniss;:
Alternativ Aufbau CSV:
Ergebniss Alterniv CSV:
Ergebniss Alterniv Qry:
Die Null in der Spalte a, kommt vom dem "Leereintrag" zwischen den 2 Beistrichen, da diese Spalte auf INT gesetzt ist
Gegenprobe Große CSV Kleine Tabelle:
CSV:
Tabelle:
Qry:
Ergebniss:
Das einzige was dir evtl. zum Verhängniss wird, du hast Spalten welche als NULL mit NO gekennzeichnit sind aber als Default NULL haben, somit kann es sein das du diese befüllen / auffüllen musst.
Komisches Design aber naja
ich denke du hast deine Daten nicht ganz im Griff, ich hab dir das mal zusammengebaut, so funktioniert das im groben unter Mysql 5.6:
Tabelle:
CSV:
Qry:
load data local infile '/Users/godlie/temp/test.csv'
into table `loadinto`
fields terminated by ';'
optionally enclosed by '"'
escaped by '"'
lines terminated by '\n'
(user, mail, text);
Ergebniss;:
Alternativ Aufbau CSV:
Ergebniss Alterniv CSV:
Ergebniss Alterniv Qry:
load data local infile '/Users/godlie/temp/test.csv'
into table `loadinto`
fields terminated by ';'
optionally enclosed by '"'
escaped by '"'
lines terminated by '\n'
Die Null in der Spalte a, kommt vom dem "Leereintrag" zwischen den 2 Beistrichen, da diese Spalte auf INT gesetzt ist
Gegenprobe Große CSV Kleine Tabelle:
CSV:
Tabelle:
Qry:
load data local infile '/Users/marco/temp/test.csv'
into table `loadinto`
fields terminated by ';'
optionally enclosed by '"'
escaped by '"'
lines terminated by '\n'
(user, mail, text);
Ergebniss:
Das einzige was dir evtl. zum Verhängniss wird, du hast Spalten welche als NULL mit NO gekennzeichnit sind aber als Default NULL haben, somit kann es sein das du diese befüllen / auffüllen musst.
Komisches Design aber naja
folgendes Problem ich möchte gerne inhalte aus einer CSV in eine Mysql Tabelle importieren
Mit zu wenig Quelldatei in der CSV und den nicht erfüllten foreign key Vorgaben in den anhängigen Tabellen, gar nicht.
Naja wie gesagt scheis Desing..... bezogen auf die oberen Warnungs *doestn have a default Value *
Für den Rest:
Musst du dir evtl. für die Foregin Keys etwas in deiner CSV hinterlegen, oder gar die Referenzen in den andern Tabellen erzeugen, damit du auf diese dich beziehen kannst.
ich frage mich langsam ob da nicht sinnvoller wäre
jemanden zu beauftragen, der dir ein Skriptchen macht ohne die DB zu kennen wird das mehr als mühsam
Für den Rest:
Musst du dir evtl. für die Foregin Keys etwas in deiner CSV hinterlegen, oder gar die Referenzen in den andern Tabellen erzeugen, damit du auf diese dich beziehen kannst.
ich frage mich langsam ob da nicht sinnvoller wäre
jemanden zu beauftragen, der dir ein Skriptchen macht ohne die DB zu kennen wird das mehr als mühsam