cvoigt
Goto Top

Importieren einer Datei in MySQL

Hallo,

ich möchte gern Daten aus einer CSV-Datei (Trennzeichen TAB) in eine mysql-Tabele laden. Leider sind in der Datei nicht alle Spalten mit einem Wert gefüllt - d.h. TAB [leerer Wert] TAB

Beispieltabelle (da man einen TAB schlecht darstellen kann, habe ich als Trennzeichen hier ";" verwendet:
Kundennummer;Kunde_seit;Kunde_bis;Strasse;usw.
1;2011-01-01;;Hauptstrasse 7;...
2;2011-02-01;2011-03-01;Hauptstr. 1;...
3;2011-03-01;;Ortsstrasse 6b;...

SQL:
DROP TABLE IF EXISTS `test`;
CREATE TABLE `test` (
`Kundennummer` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
`Kunde_seit` date not null,
`Kunde_bis` date default null,
`Strasse` varchar(50) default null,
...
PRIMARY KEY (`Kundennummer`)
) ENGINE=MyISAM ...;

LOAD DATA INFILE 'e:/Daten/.../datei.csv'  
  INTO TABLE dbname.test
  FIELDS TERMINATED BY '\t'  
  LINES TERMINATED BY '\r\n'  
IGNORE 1 LINES
(Kundennummer,Kunde_seit,Kunde_bis,Strasse,....)

Leider kommt dabei folgender Fehler:
Incorrect date value: '' for column 'Kunde_bis' at row 1

auch der Umweg über eine Variable hilft nicht (habe ich beim Suchen nach dem Fehler hier gefunden: http://stackoverflow.com/questions/2675323/mysql-load-data-null-values )
...

LOAD DATA INFILE 'e:/Daten/.../datei.csv'  
  INTO TABLE dbname.test
  FIELDS TERMINATED BY '\t'  
  LINES TERMINATED BY '\r\n'  
IGNORE 1 LINES
(Kundennummer,Kunde_seit,@Spalte03,Strasse,....)
SET Kunde_bis = nullif(@Spalte03,'')  
hier kommt der Fehler:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'SET Kunde_bis = nullif(@Spalte03,'')' at line xxx

vielen Dank schonmal vorab

cvoigt

Content-ID: 174568

Url: https://administrator.de/contentid/174568

Ausgedruckt am: 23.11.2024 um 07:11 Uhr

cvoigt
cvoigt 19.10.2011 um 18:08:15 Uhr
Goto Top
Hat wirklich niemand eine Idee zu meinem Problem?