Re: Brauche Hilfe bei einer Massenänderung - 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 Christoph Bergmann (8110 Beiträge) am Donnerstag, 12.April.2007, 15:40.
    Re: Brauche Hilfe bei einer Massenänderung

      (Natürlich) kein Bug, sondern "das Seil lang genug gelassen um sich selbst daran aufzuhängen" - ohne Angabe eines Ergebnis-Hashes wird beide Male der DB-Name genommen, "get" und "mod" nutzen also denselben Ergebnis-Hash, wodurch dann der interne Zähler hin- und hergesetzt wird (glaub ich)...


    Antworten

 Alle Einträge zum Thema: Zur Liste 
    Beitrag von mk (966 Beiträge) am Montag, 9.April.2007, 17:48. WWW: vokabeltrainer-online.net
    Brauche Hilfe bei einer Massenänderung

      Hallo,

      ich muss bei einer Datenbank bei jedem Datensatz ein Wert nachpflegen.
      Dazu habe ich eine zweite Datenbank wo dieser Wert drinn steht.
      So hab ich es versucht:
      <perl>
      $dbname="vokabeln_test";
      get "Spanisch~=ab ", "$dbname";
      while(get_next("$dbname"))
      {
      $Idm=$Id;
      get ["Spanisch", "==", "$Spanisch"], "nachtrag";
      mod "Id==$Idm ", ["Thema", "$Thema"], "$dbname";
      }
      </perl>
      
      Die Ausführung dauert ewig lange, das Ergebnis ist aber auch nicht so wie ich es brauche.
      Hat einer eine Idee, wo der Fehler liegt?

      Michael

     Antworten

    Beitrag von Sander (8133 Beiträge) am Montag, 9.April.2007, 20:06.
    Re: Brauche Hilfe bei einer Massenänderung

      schon 1000x erklärt, ich glaube sogar auch dir ;).


      such mal nach "ergebnis mod"

     Antworten

    Beitrag von mk (966 Beiträge) am Montag, 9.April.2007, 22:08.
    Re: Brauche Hilfe bei einer Massenänderung

      Ergebnis der Suche:
      1x in 2007
      kein mal in 2006
      einige in 2005

      wo sind die 1000 ?

      Danke für die "ausführliche" hilfe.

      Michael

     Antworten

    Beitrag von Ulf (144 Beiträge) am Dienstag, 10.April.2007, 16:26.
    Re: Brauche Hilfe bei einer Massenänderung

      vieleicht stimmts auch nicht aber versuchen

      anstatt $Idm=$Id;
      den $Idm=$_id;

      weiß aber nicht, ob ich richtig liege

      Ulf

     Antworten

    Beitrag von Claus (4645 Beiträge) am Dienstag, 10.April.2007, 21:51. WWW: hummelexpress.de
    Re: Brauche Hilfe bei einer Massenänderung

      versuch mal so:

      <perl>
      $dbname="vokabeln_test";
      get "Spanisch~=ab ", "$dbname","erg";
      while(get_next("erg"))
      {
      $Idm=$Id;
      get ["Spanisch", "==", "$Spanisch"], "nachtrag";
      mod "Id==$Idm ", ["Thema", "$Thema"], "$dbname";
      }
      </perl>
      

      hth

      Gruß

      Claus

     Antworten

    Beitrag von mk (966 Beiträge) am Donnerstag, 12.April.2007, 12:04.
    Re: Brauche Hilfe bei einer Massenänderung

      Danke Claus,

      hat geklappt und auch schnell.
      Kannst du vielleicht mit einfachen Worten erklären warum dies so sein muß?

      Michael

     Antworten

    Beitrag von Claus (4645 Beiträge) am Donnerstag, 12.April.2007, 13:26. WWW: automobilhai.de
    Re: Brauche Hilfe bei einer Massenänderung

      Hallo Michael,

      werde es mal versuchen;-)

      Ein Beispiel (anderer Zusammenhang, aber selbes Prinzip) findest Du in der Doku beim get-Befehl (ganz unten):

      http://doku.baseportal.de/48.html

      Du hattest versucht, gleichzeitig Datensätze aus ein und derselben DB zu holen und mit mod quasi gleichzeitig wieder zu ändern. Da hängt sich das irgendwann auf.

      Bei dem anderen Script werden alle zutreffenden Datensätze im 1. Schritt aus der DB geholt, in "erg" zwischengespeichert, danach aus "erg" geholt (also nicht wieder auf die DB zugegriffen) und in der Original-DB mit mod geändert. Dadurch wird also nicht doppelt auf die DB zugegriffen.

      Ich hoffe, das war jetzt nicht zu kompliziert.

      Gruß

      Claus

     Antworten

    Beitrag von Sander (8133 Beiträge) am Donnerstag, 12.April.2007, 14:42.
    Re: Brauche Hilfe bei einer Massenänderung

      das is falsch, bei get wird immer alles sofort in den Speicher geholt, was in der bedingung steht - egal ob mit oder ohne ergebnis (wenn kein erg angegeben wird der dbname als erg gesetzt). mit get_next wird nur noch dieses ergebnis durchgegangen.

      Ich mein, das es ohne einem ergebnis nicht klappt ist einfach nur ein bug von bp, weil ein mod ja sozusagen ein get,del,put ist. Eventuell wird da beim get der ergebnishash (dbname) überschrieben.

      @CB: kommt das so hin?
      

     Antworten

    Beitrag von Christoph Bergmann (8110 Beiträge) am Donnerstag, 12.April.2007, 15:40.
    Re: Brauche Hilfe bei einer Massenänderung

      (Natürlich) kein Bug, sondern "das Seil lang genug gelassen um sich selbst daran aufzuhängen" - ohne Angabe eines Ergebnis-Hashes wird beide Male der DB-Name genommen, "get" und "mod" nutzen also denselben Ergebnis-Hash, wodurch dann der interne Zähler hin- und hergesetzt wird (glaub ich)...

     Antworten

    Beitrag von Claus (4645 Beiträge) am Donnerstag, 12.April.2007, 19:57. WWW: hummelexpress.de
    Re: Brauche Hilfe bei einer Massenänderung

      @Sander Das hatte ich mit einfachen Worten versucht zu erklären. 
       
      >ohne Angabe eines Ergebnis-Hashes wird beide Male der DB-Name genommen, "get" und "mod" nutzen also denselben Ergebnis-Hash...
       
      
      Hatte statt Ergebnis-Hash halt von DB gesprochen;-)

      @CB Wenn du meine mails nicht beantworten möchtest, lasse es mich einfach nur wissen.
      

      Gruß

      Claus

     Antworten

    Beitrag von Sander (8133 Beiträge) am Donnerstag, 12.April.2007, 21:23.
    Re: Brauche Hilfe bei einer Massenänderung

      jaja....

     Antworten


     
 Liste der Einträge von 13951 bis 14101: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!