kann daten nicht in tabelle einfügen, warscheinlich zu viele (4683 datensätze)

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

  • kann daten nicht in tabelle einfügen, warscheinlich zu viele (4683 datensätze)

    gibt es eine begrenzung der menge an DS die auf einmal in eine Tabelle einfügen kann?

    wenn ja, wie groß ist die obergrenz?

    ich hab nämlich eine datei (*.sql) in der 4683 INSERT befehle stehen, MySQL meldet wenn ich die datei einspielen möchte "Kein SQL Befehl", wenn ich aber ein paar dieser INSERT befehle "händisch" kopiere und dann einfüge funkt`s.

    wo liegt der fehler, wenns nicht die menge der daten ist?

    Danke Burns
    Burned im Jahre des Herrn 367 v. Chr.

  • #2
    kommt da noch ne zeilennummer?
    machst du das mit mysql direkt oder über phpmyadmin?
    Ich denke, also bin ich. - Einige sind trotzdem...

    Kommentar


    • #3
      Dürfte eher am Webserver liegen dass nur soundsoviel sekunden das skript ausgefuehrt wird (in deinem fall wohl phpmyadmin?).

      Spiel deine datenbank ueber eine shell ein (mysql-befehl ausfuehren auf kommandoebene) oder ueber ein phpskript mit ner schleife die zeilenweise das zuvor hochgeladene textfile liest und die inserts nacheinander macht.

      Rocco

      Kommentar


      • #4
        1. ja ich habs zuerst mit phpmyadmin versucht: ausgabe: Kein SQL Befehl

        2. ich hab gerade ein script geschrieben dass das erledigen sollte aber auch dass will nicht funktionieren! Sind einfach zu viele DS vermute ich!
        ich bekomm ca. ab DS 4600 Fehlermeldung "Undefined Offset" und das ganze script ist somit nicht mehr ausführbar!
        Burned im Jahre des Herrn 367 v. Chr.

        Kommentar


        • #5
          Probier mal mein Skript aus, das sollte gehen. Hat zwar 3 Jahre auf den Buckel, sollte aber noch funktioniern. Damit haben wir 300000+ Datensätze eingespielt und nie ein Problem gehabt.

          Rocco

          PHP-Code:
          include "deine mysql verbinung";
          $filename="dein_dump.sql";
          echo 
          "file: $filename<br>";
          $sql=file($filename) or die("Ja wo isset denn?");
          $num=sizeof($sql);
          $st=0;
          $exec="";
          $first=false;
          for (
          $i=0;$i<$num;$i++){
              
          $sql[$i]=trim($sql[$i]);
          if (
          eregi("^(drop table|create table|insert into|alter table)"$sql[$i])){
              if (!empty(
          $exec) && $first){
                  echo 
          "SQL-Statement $st:<br>";
                  
          $st++;
                  
          $exec=trim($exec);
                  echo 
          "[".$exec."]";
                  
          $res=mysql_query($exec) or die("ERROR: <b>".mysql_error()."</b>");
                  echo 
          "<br>ok<hr>";
                  
          $exec="";
              }
              
          $first=true;
          }
          if (!
          ereg("^#",$sql[$i]))
              
          $exec.=" ".$sql[$i];


          Zuletzt geändert von Rocco; 12.01.2004, 14:04.

          Kommentar


          • #6
            Danke für die hilfe!

            ich weis zwar nicht warum dein script funkt und meins nicht aber egal, hauptsache es hat funktioniert!

            Danke Burns.
            Burned im Jahre des Herrn 367 v. Chr.

            Kommentar

            Lädt...
            X