Datenverlust beim ändern - baseportal Forum - Web-Anwendungen einfach, schnell, leistungsfähig!
baseportal
English - Deutsch "Es gibt keine dummen Fragen - jeder hat einmal angefangen"

 baseportal-ForumDie aktuellsten 10, 30, 50, 100 Einträge anzeigen.  

 
 Ausgewählter Eintrag: Zur Liste 
    Beitrag von mk (966 Beiträge) am Samstag, 14.Februar.2009, 17:36.
    Datenverlust beim ändern

      Hallo,

      ich muß in einer Datenbank ein Feld ändern.
      so mach ich es:
      $DB="vokabeln_nutzer6";
      get "Sprache==!Türkisch","$DB","ergebnis";
      while (get_next("ergebnis"))
      {
      mod ["Sprache", "==!", "Türkisch"], ["Sprache", "Tuerkisch"], "$DB";
      }
      

      Nur anschließend sind es weniger Datensätze als vohrer.
      Die Datenbank besteht aus 98489 Datensätzen und es sollen 2554 Datensätze davon geändert werden. 1600 werden auch geändert, die anderen sind weg.
      ich mache dies natürlich alles mit einer Kopie.

      Michael


    Antworten

 Alle Einträge zum Thema: Zur Liste 
    Beitrag von mk (966 Beiträge) am Samstag, 14.Februar.2009, 17:36.
    Datenverlust beim ändern

      Hallo,

      ich muß in einer Datenbank ein Feld ändern.
      so mach ich es:
      $DB="vokabeln_nutzer6";
      get "Sprache==!Türkisch","$DB","ergebnis";
      while (get_next("ergebnis"))
      {
      mod ["Sprache", "==!", "Türkisch"], ["Sprache", "Tuerkisch"], "$DB";
      }
      

      Nur anschließend sind es weniger Datensätze als vohrer.
      Die Datenbank besteht aus 98489 Datensätzen und es sollen 2554 Datensätze davon geändert werden. 1600 werden auch geändert, die anderen sind weg.
      ich mache dies natürlich alles mit einer Kopie.

      Michael

     Antworten

    Beitrag von Sander (8133 Beiträge) am Samstag, 14.Februar.2009, 23:40.
    Re: Datenverlust beim ändern

      nach einem Reorg sind die sicher wieder da. grundsätzlich ist es bei so umfangreichen änderungen besser, eine neue DB zu beschreiben als die alte zu ändern.

     Antworten

    Beitrag von Claus (4645 Beiträge) am Sonntag, 15.Februar.2009, 16:33.
    Re: Re: Datenverlust beim ändern/fehler

      hatte ich vorhin übersehen, also so:

      $DB="vokabeln_nutzer6";
      get "Sprache==!Türkisch range=0,5000","$DB","ergebnis";
      while (get_next("ergebnis"))
      {
      mod "Id==$_id, ["Sprache", "Tuerkisch"], "$DB";
      }
      

      usw....

      Gruß

      Claus

     Antworten

    Beitrag von Claus (4645 Beiträge) am Sonntag, 15.Februar.2009, 10:23.
    Re: Datenverlust beim ändern

      alternativ kannst Du das auch über den "range" versuchen z.B.:

      $DB="vokabeln_nutzer6";
      get "Sprache==!Türkisch range=0,5000","$DB","ergebnis";
      while (get_next("ergebnis"))
      {
      mod ["Sprache", "==!", "Türkisch"], ["Sprache", "Tuerkisch"], "$DB";
      }
      

      danach den "range" ändern:

      $DB="vokabeln_nutzer6";
      get "Sprache==!Türkisch range=5001,10000","$DB","ergebnis";
      while (get_next("ergebnis"))
      {
      mod ["Sprache", "==!", "Türkisch"], ["Sprache", "Tuerkisch"], "$DB";
      }
      

      usw.

      Gruß

      Claus

     Antworten

    Beitrag von Pouraga (1396 Beiträge) am Montag, 16.Februar.2009, 14:41.
    Re: Datenverlust beim ändern

      Ist vermutlich passiert weil 2554 mal hintereinander 2554 von den selben Datensätzen geändert wurden. Das sind über 6 Millionen mod's. ;)

      mod ["Sprache", "==!", "Türkisch"] wirk schon auf alle Datensätze mit "Türkisch" und das Ergebnisshash vom get wird nicht beeinflusst. Er bleibt also in der Schleife bis er alles geholte abgearbeitet hat.
      

      ---
      einfach komplett ohne Schleife
      mod ["Sprache", "==!", "Türkisch"], ["Sprache", "Tuerkisch"], "$DB";
      
      reicht also

      @Claus:
      
      Hat hier zwar nix mit zu tun, aber:
      range=Start,Länge nicht range=Start,Ende

     Antworten

    Beitrag von Claus (4645 Beiträge) am Montag, 16.Februar.2009, 15:17.
    Re: Re: Datenverlust beim ändern

      Hatte ich hier doch schon geschrieben, siehe:

      http://forum.baseportal.de/14885.2.html

      erst werden die Datensätze 0 bis 5000 geholt, danach dann die Datensätze 5001 bis 10000 usw.

      er hat schließlich rund 98000 Datensätze...;)

      Hatte nur vergessen, daß dann die "mod's" über die ID gemacht werden müssen (nicht über Sprache!), wollte das ganze aber nicht nochmal schreiben...

      Aber eigentlich braucht's den range nicht, denn er holt ja nur die DS, die "Türkisch" beinhalten und das dürften dann nur 2554 DS sein und wenn man die dann über die ID ändert, sollte das kein Problem sein...

      Gruß

      Claus

     Antworten

    Beitrag von Claus (4645 Beiträge) am Montag, 16.Februar.2009, 15:20.
    Re: Re: Datenverlust beim ändern

      Allerdings ist Deine Lösung besser, hatte ich nicht mehr dran gedacht...

      Gruß

      Claus

     Antworten


     
 Liste der Einträge von 9000 bis 9150:Einklappen Zur Eingabe 
Neueste Einträge << 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | Neuere Einträge < Zur Eingabe  > Ältere Einträge | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 >> Älteste Einträge


Zurück zur Homepage

© baseportal.de. Alle Rechte vorbehalten. Nutzungsbedingungen



powered in 0.10s by baseportal.de
Erstellen Sie Ihre eigene Web-Datenbank - kostenlos!