CSV Import in MySql Datenbank

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • CSV Import in MySql Datenbank

    Hallo, hoffe mir kann jemand helfen bei folgendem Problem:

    Möchte mit einer CSV Datei eine vorhandene Tabelle in MySql-Datenbank aktualisieren.
    - neue Datensätze sollen eingetragen werden,
    - bereits vorhandene Datensätze aktualisiert werden
    - Datensätze, die in CSV Datei nicht vorhanden sind, aber in der MySql- Datenbank schon sind, sollen unverändert erhalten bleiben

    Das ganze mit einem PHP-Script, bisher so:

    $fp = "c:/Programme/xampp/htdocs/datenbank/csv_dateien/firmen1.csv";

    mysql_connect("localhost", "root", "root");
    mysql_select_db("kunden");

    $query = "LOAD DATA LOCAL INFILE ".$fp.
    "REPLACE INTO TABLE 'firma1' ".
    "FIELDS TERMINATED BY ',' ESCAPED BY '\\' OPTIONALLY ENCLOSED BY '\"'".
    "LINES TERMINATED BY '\n'"
    ." ' '";
    $res=mysql_query($query);

    echo mysql_error();

    Der Fehler, der ausgegeben wird:
    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 'c:/Programme/xampp/htdocs/datenbank/csv_dateien/firmen1.csvREPLACE INTO TABLE 'f' at line 1

    Der Aufbau der CSV-Datei (Feldanzahl und Typen sind kontrolliert):
    "12", "Firma1", "Stadt", "GmbH", "022-222", "022-111", "test@test.de", "www.test.de", "D", "52123", "Ort", "Strasse", "333", "111", "Metzgerei",
    "15", "Firma15", "", "", "", "", "", "", "", "", "", "", "", "", "Metzgerei",
    Zuletzt geändert von tulpe; 23.02.2007, 10:48.

  • #2
    dafür brauchst du eine andere systematik.
    1. csv-datei zeilenweise auslesen
    2. überprüfen ob eintrag vorhanden
    3. wenn ja, aktualisieren (update)
    4. wenn nein, eintragen (insert)

    gruß
    peter
    Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
    Meine Seite

    Kommentar


    • #3
      Wie lese ich eine CSV Datei in PHP zeilenweise aus?

      Kommentar


      • #4
        fgetcsv

        gruß
        peter
        Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
        Meine Seite

        Kommentar


        • #5
          zuerst mit http://de3.php.net/manual/en/function.fgetcsv.php die dateien einlesen und dann mittels foreach durchlaufen und entsprechend erweitern.


          einfach google.de oder forumsuche nutzen ist doch nicht so schwer ^^

          *edit*
          verdammicht zu langsam
          tutorial: peterkropff.de schattenbaum.de tut.php-quake.net
          documentation: php.net mysql.com framework.zend.com

          Die Nachtwache!

          Kommentar


          • #6
            Danke!
            Werde das jetzt sofort testen.

            Gruß tulpe

            Kommentar


            • #7
              Besten Dank, funktioniert jetzt!

              Gruß tulpe

              Kommentar


              • #8
                @tulpe

                Sitze gerade vor dem selben Problem. Wäre ganz lieb, wenn Du Dein Ergebnis mal hier posten könntest?!

                Kommentar

                Lädt...
                X