Gelöschte IDs neu durch nummerieren? - 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 xbotx (30 Beiträge) am Mittwoch, 17.November.2004, 00:39. WWW: kmk-ffa.de.vu
    Gelöschte IDs neu durch nummerieren?


      ich habe folgendes Id problem

      ich benötige 0-125 feste ID's

      wenn ich die bp id's nutze und eine lösche ergibt das eine lücke!

      a) wie konnte ich diese lücke stopfen sodas Id's über der gelöshten nachrücken

      eg: ich delete Id 1 = bleiben 0, 2,3,4,5 usw über
      ich benötige aber eine Id==1

      Ich dachte bei der planung das man beim reorganisieren der db das
      die Id's neu von 0 bis ..... neu durchnummeriert werden aber pustekucken ist.


      b) ohne 50 templates neu schrieben zu müssen, gäbe es eine möglichkeit
      per Perl alle ID's neu zu nummerieren mit "mod" oder sowas? also immer von
      0 bis ende aller datensätze!


      c) oder falls ich doch alle templates neu gestalten muss, wie erschaffe ich
      sowas wie künstliche ID's die sich in die fehlenden ID lücken selbständig nach eine "prüfung" bei neuen daten setzen schreiben und falls voll sich einfach einreihen.... oder so ähnlich.


      thx für die help !

      eg: variablen = $Id $Name


    Antworten

 Alle Einträge zum Thema: Zur Liste 
    Beitrag von xbotx (30 Beiträge) am Mittwoch, 17.November.2004, 00:39. WWW: kmk-ffa.de.vu
    Gelöschte IDs neu durch nummerieren?


      ich habe folgendes Id problem

      ich benötige 0-125 feste ID's

      wenn ich die bp id's nutze und eine lösche ergibt das eine lücke!

      a) wie konnte ich diese lücke stopfen sodas Id's über der gelöshten nachrücken

      eg: ich delete Id 1 = bleiben 0, 2,3,4,5 usw über
      ich benötige aber eine Id==1

      Ich dachte bei der planung das man beim reorganisieren der db das
      die Id's neu von 0 bis ..... neu durchnummeriert werden aber pustekucken ist.


      b) ohne 50 templates neu schrieben zu müssen, gäbe es eine möglichkeit
      per Perl alle ID's neu zu nummerieren mit "mod" oder sowas? also immer von
      0 bis ende aller datensätze!


      c) oder falls ich doch alle templates neu gestalten muss, wie erschaffe ich
      sowas wie künstliche ID's die sich in die fehlenden ID lücken selbständig nach eine "prüfung" bei neuen daten setzen schreiben und falls voll sich einfach einreihen.... oder so ähnlich.


      thx für die help !

      eg: variablen = $Id $Name

     Antworten

    Beitrag von hermpelr (4 Beiträge) am Mittwoch, 17.November.2004, 14:12.
    Re: Gelöschte IDs neu durch nummerieren?

      mhm - also Id`s umrubeln ist eigentlich nicht sehr sinnvoll, würde ich generell nicht machen.
      Aber eine ganz einfache Lösung für nen Hilfskonstrukt, der dir die Reihenfolge der Datensätze von 0-125 einfach einbaut:

      get "Id=*", "deinedb", "ergebnishash";
      $nummer = 0; # variable nummer inintialisieren
      while(get_next("erebnishash"){
      $h_nummer_id{$nummer} = $_id;
      $nummer++;
      }
      

      nun hast du die Ids schön der Reihe nach in nem Hash stehen, deren Schlüssel von 1 bis bspw. 125 (wenn genau 125 Datensätze in der DB stehen) lückenlos in der Zahlenreihe zur Verfügung stehen und kannst die Datensätze über die ID zum zugehörigen Schlüssel ansprechen....
      hth
      Ruben

     Antworten

    Beitrag von Christoph Bergmann (8110 Beiträge) am Mittwoch, 17.November.2004, 14:41.
    Re: Gelöschte IDs neu durch nummerieren?

      Prinzipiell hast Du recht, aber ein Array täts auch (und is schneller):

      get "Id==*", "deinedb", "ergebnishash";
      $nummer = 0; # variable nummer inintialisieren
      while(get_next("erebnishash")
      {
        $h_nummer_id[$nummer++] = $_id;
      }
      

      ;-)

      weil ich das schon öfter gesehen hab:

      get "Id==*", ...
      

      is richtig, oder man lässts gleich weg

      get "", ...
      

      "Id=*" weisst einfach $Id den "*" zu, hat aber auf die Datenbankabfrage keine Auswirkung ;-)

     Antworten


     
 Liste der Einträge von 27151 bis 27301: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.06s by baseportal.de
Erstellen Sie Ihre eigene Web-Datenbank - kostenlos!