Ankündigung

Einklappen
Keine Ankündigung bisher.

MySQL lädt immer nur 127 Datensätze einer CSV-Datei

Einklappen

Neue Werbung 2019

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

  • MySQL lädt immer nur 127 Datensätze einer CSV-Datei

    Hallo zusammen, ich habe da ein Problem!!

    Ich habe eine CSV-Datei mit 20103 Datensätze (ca. 1MB).
    Wenn ich diese Datei nach MySQL importieren möchte, dann wenden immer nur genau 127 Datensätze eingelesen!!

    Die Datensätze nach der Nummer 127 sind OK, da kann es nicht dran liegen.

    Welche Ursache könnte das haben???

    Danke und Gruß an Alle

    Klaus


  • #2
    Dass dein PrimaryKey-Feld (id) der Datenbank blöderweise auf TINYINT gestellt ist.

    Kommentar


    • #3
      @Zergling

      TINYINT -> neee, PrimaryKey-Feld hat INT

      Denke es liegt doch irgendwie an die Daten selber, aber bin da nich am forschen

      Kommentar


      • #4
        Also wir hatten mal das Problem, auch genau bei 127, dass ein Unique oder PrimaryKey-Feld auf TINYINT gesetzt war. Was für eine Meldung bekommst du denn, wenn du das 128. einträgst?

        Kommentar


        • #5
          eventuell liegt es an möglichen begrenzungen seitens deines providers/servers.

          das problem ist aber bekannt. du musst die csv datei seperiert einlesen.

          dieses script wäre eine möglichkeit:

          PHP-Code:
          <?php

          $quelle
          ="test.csv"#Datei mit Informationen
          $separator=";"#Wie sind die Infos getrennt
          $ausgabe="Datei"#Datei oder mySQL: Wird in einer SQL Datei gespeichert oder direkt in die DB geschrieben
          $tabelle="name"#Wie heisst die Tabelle

          #Variablen
          #Spalten : Array mit einzelnen Spalten Bezeichnern
          #Spalten_Anzahl : Anzahl der Spalten



          function Spalten_Lesen()
          {
          global 
          $separator;
          $datei=fopen("test.cvs","r");
          fseek($datei,1);
          $zeile=fgetss($datei,1024);
          $Spalten=explode($separator,$zeile);
          $Spalten_Anzahl=count($Spalten);
          fclose($datei);
          }


          function 
          Datensaetze_Lesen()
          {
          global 
          $separator$tabelle$quelle;
          $datei=fopen($quelle,"r");
          fseek($datei,1);
          $zeile=fgetss($datei,1024);
          $Spalten=explode($separator,$zeile);
          $Spalten_Anzahl=count($Spalten);

          $datei2=fopen("test.sql","w+");
          while(
          $zeile=fgetss($datei,1024))
          {
          $zeile=eregi_replace("rn","",$zeile);
          $Daten=explode($separator,$zeile);
          $sqlstring="INSERT INTO ".$tabelle." VALUES(";
          for(
          $i=0;$i<$Spalten_Anzahl;$i++)
          {
          if(
          $i!=0$sqlstring.=",";
          $sqlstring.="$Daten[$i]";
          }
          $sqlstring.=");n";
          fputs($datei2,$sqlstring);


          }
          fclose($datei2);

          fclose($datei);
          }


          Datensaetze_Lesen();

          ?>

          ?>
          nicht getestet, sollte aber gehen.
          quelle: nukeboards

          Kommentar

          Lädt...
          X