Announcement

Collapse
No announcement yet.

Inhalt aus Textdatei in MySQL Datenbank 'einsortieren'

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Inhalt aus Textdatei in MySQL Datenbank 'einsortieren'

    Hi,
    ich stehe hier vor einer Herausforderung denn die Betonung in der Überschrift liegt wirklich auf einsortieren nicht importieren.
    Wie folgt: ich habe in der CSV Tabelle drei Spalten namens "Email" "Status1" "Status2"
    und in der DB-Tabelle habe ich die Spalten namens "ID" "Email" "Vorname" "Name" . . . "Status1" "Status2"
    Die DB-Tabelle ist gefüllt mit E-Mail-Adressen und Namen aber die Spalten "Status1" und "Status2" sind leer.
    In der CSV Datei stehen einige (aber nicht alle) E-Mail-Adressen dieser DB-Tabelle mit dem entsprechenden Statis.
    Nun suche ich ein Befehl mit dem ich die jeweiligen Statis aus der CSV bei der richtigen E-Mail-Adresse in der DB-Tabelle einordnen kann.
    Bitte nur Lösungen für MySQL anbieten, in einem anderen Forum hat man mir die Lösung für Postgree gepostet und mich damit stehen lassen.

    Danke im Voraus

    MFG Stefan

  • #2
    a)
    Ein Programm schreiben, welches die CSV Datei liest und ein update-Statement mit den Status der entsprechenden eMailadresse macht
    b)
    Die Daten der CSV Datei in eine extra Tabelle importieren und dann ein update-Statement mit den Status der entsprechenden eMailadresse von dieser Tabelle
    https://stackoverflow.com/questions/...-another-table
    Christian

    Comment


    • #3
      Hi habe Methode B von Christian gewählt,
      komme aber nicht zum Erfolg
      Die bei Stackoverflow favorisierte Lösung sähe bei mir so aus:

      UPDATE `ne_1-3`
      INNER JOIN csv_import ON `ne_1-3`.email = csv_import.email
      SET `ne_1-3`.pruefung = IF(csv_import.pruefung > 0, csv_import.pruefung,
      `ne_1-3`.pruefung),
      WHERE csv_import.email = [email protected]'

      und erzeugt folgenden Fehler:
      /* SQL Fehler (1292): Truncated incorrect DOUBLE value: 'ERFOLGREICH' */
      /* Betroffene Zeilen: 0 Gefundene Zeilen: 0 Warnungen: 0 Dauer von 0 von 1 Abfrage: 0,000 Sek. */

      wobei ich bei diesem Befehl eh nicht verstehe warum sich dort bei WHERE so auf eine E-Mail-Adresse von vielen versteift wird!

      Die 2. Lösung:

      UPDATE `ne_1-3`
      SET `ne_1-3`.fehlercode =
      (SELECT csv_import.fehlercode
      FROM csv_import WHERE csv_import.email = `ne_1-3`.email);

      funktioniert dauert aber ewig lange.

      ​​​

      Comment


      • #4
        den letzten Lösungsweg (der mit der Procedure bei Stackoverflow https://stackoverflow.com/a/55961185 ) den kann ich leider nicht posten hier
        weil bekomme dann den Fehler: "Error while saving content: SyntaxError: Unexpected token P in JSON at position 8" wenn ich auf Speichern klicke
        Zuletzt editiert von NoahsRaven; 06.05.2021, 18:37.

        Comment

        Working...
        X