MYSQL Import von CSV

  • Hey liebe Community,

    ich habe ein kleines Problem an dem ich schon eine Weile sitze, es geht darum über eine CSV datei Datensätze zu importieren.

    CSV:
    12,testvar1
    13,testvar2
    14,
    15,testvar3

    Import:
    LOAD DATA LOCAL INFILE '/myfile.csv' IGNORE
    INTO TABLE model
    FIELDS TERMINATED BY ','
    OPTIONALLY ENCLOSED BY '"'
    LINES TERMINATED BY '\n'
    (var);

    Ergebniss:
    12,testvar1
    13,testvar2
    14,
    15,testvar3

    Wie zu sehen ist wurden alle Datensätze importiert, es ist aber beabsichtigt den Datensatz nicht zu importieren wenn er für die var variable einen "" wert hat. Dies habe ich auf 2 wegen versucht.

    Weg 1:
    delimiter //
    CREATE TRIGGER modelcheck BEFORE INSERT ON model
    FOR EACH ROW BEGIN
    IF CHAR_LENGTH(new.var) = 0
    THEN
    set new.var = NULL;
    END IF;
    END
    ;//
    delimiter ;

    Ergebniss:
    12,testvar1
    13,testvar2

    Weg 2:
    Set var = IF(CHAR_LENGTH(@var) > 0, @var, null);

    Ergebniss:
    12,testvar1
    13,testvar2
    14,
    15,testvar3

    Weg 1, verursacht einen Fehler den ich trotz IGNORE beim Import, nicht überpsringen kann, weshalb mir dann die Daten nach dem "Fehlerhafte" Datensatz einfach nicht importiert/übersprungen werden. Zu Weg 2, hier versuche ich es innerhalb des Set´s zu überprüfen doch leider auch ein eher sinnloses Ergebniss. Ich hoffe ihr könnt mir helfen, vielen Dank schon mal.

  • Danke für die Vorschläge, natürlich kann man da noch einiges drumherum bauen, aber ich dachte es sei mit sql mäglich. Ist ja eig. auch keine schwere Aufgabe. Naja hab es jetzt mit den löschen gemacht, nicht schön aber geht.

  • Guten Morgen.
    Wenn den Anliegen gelöst ist, markiere das Thema doch bitte als erledigt. Zudem wäre es schön wenn du deine Lösung noch kund tun würdest. Evtl hilft es ja einem anderen Format Besucher. Besten en Dank

    Gruss Dani

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!