Fortlaufende ID

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

  • #16
    ... denn für mich isses ja kein problem da ich für reihenfolgen sowieso andere werte nutz ...
    ja, aber es geht ja darum dass es eindeutig ist!
    Oder ich habe Dich mißverstanden, aber so ist es ja nicht eindeutig wenn auch Werte genommen werden die schonmal benutzt worden sind und jetzt gelöscht sind.
    [Test] MySQL cli Emulator

    Kommentar


    • #17
      Original geschrieben von NielsRunge
      ja, aber es geht ja darum dass es eindeutig ist!
      Oder ich habe Dich mißverstanden, aber so ist es ja nicht eindeutig wenn auch Werte genommen werden die schonmal benutzt worden sind und jetzt gelöscht sind.
      Nene. Eindeutig sind Sie immer. Also "nur" wenn zum beispiel datensatz mit id 35 gelöscht wird und der letzte datensatz hat id 60. So wird beim nächsten INSERT manchmal nicht ID 61 sondern die nun nicht mehr vorhandene 35 benutzt.
      Es ist weiterhin nur jede ID einmal vorhanden jedoch ist der neueste Eintrag nicht eben der mit ID 60 sondern der mit ID 35.

      Und das kann natürlich für jemanden der sich die Reihenfolge anhand der Autoincs organisiert ein Problem sein.

      Kommentar


      • #18
        Es ist weiterhin nur jede ID einmal vorhanden jedoch ist der neueste Eintrag nicht eben der mit ID 60 sondern der mit ID 35.
        ja das jede nur einmal vorhanden ist hatte ich schon so verstanden, geht mit PRIMARY ja auch nicht anders?!?
        Aber dann denken wir verschieden über "eindeutig"

        Ich meine damit dass jede ID einmal vergeben wird, eindeutig halt
        [Test] MySQL cli Emulator

        Kommentar


        • #19
          Ich meine damit dass jede ID einmal vergeben wird, eindeutig halt
          Achso ! Ja klar. In dem Sinn ist es natürlich auch ein Problem. Aber so setze ich persöhnlich autoincs auch nicht ein, sondern ausschließlich als bezug auf einen enstprechnenden Datensatz. Und in dem Zusammenhang ist das egal ob die ID bereits zuvor einmal vergeben wurde oder nicht.

          Und da hast du natürlich recht. Als einmalige ID lässt sich ein Autoinc unter den vorrausetzungen wie ich es beobachtet hab, nicht verwenden.

          Kommentar


          • #20
            Und da hast du natürlich recht. Als einmalige ID lässt sich ein Autoinc unter den vorrausetzungen wie ich es beobachtet hab, nicht verwenden.
            naja, eigentlich sollte es schon, scheint an Deiner MySQL Version zu liegen.
            Ich möchte Dich bitten folgendes mal auszuführen:
            PHP-Code:
            CREATE TABLE `autoinc_test` (
              `
            myidint(11unsigned NOT NULL auto_increment,
              
            PRIMARY KEY  (`myid`)
            TYPE=MyISAM;

            INSERT INTO `autoinc_testVALUES ();
            INSERT INTO `autoinc_testVALUES ();
            INSERT INTO `autoinc_testVALUES ();
            DELETE FROM `autoinc_testWHERE `myid` = 3;
            INSERT INTO `autoinc_testVALUES (); 
            [Test] MySQL cli Emulator

            Kommentar


            • #21
              kein Problem...aber das ergebnis kann ich dir jetzt schon sagen...

              Am ende existieren die datensätze 1,2 und 4.

              Wie gesagt solange der MySQL Server läuft funktioniert das autoincrement zuverlässig. Das hab ich ich schon bemerkt. Das die datensätze dazwischen geschoben wurden hab ich eher zufällig bemerkt und darum auch meine Vermutung das es eventuell mit einem neustart des MySQL Servers zusammenhängt.

              Aber mom ich teste das gleich und meld mich nochmal

              Kommentar


              • #22
                so ..wie erwartet.

                datensätze 1,2,4 vorhanden. Hab dann mal nur den MySQL Server neu gestartet und noch ein INSERT gemacht mit ergebnis myID 5 (also nun 1,2,4,5).

                Daran scheints also auch nicht zu liegen. Hmmmm... mal den Apache neu starten...so langsam will ich aber wissen woran das liegt auch wenn ich es eigendtlich garnicht wissen muss

                Kommentar


                • #23
                  Original geschrieben von tezet
                  so ..wie erwartet.

                  datensätze 1,2,4 vorhanden. Hab dann mal nur den MySQL Server neu gestartet und noch ein INSERT gemacht mit ergebnis myID 5 (also nun 1,2,4,5).

                  Daran scheints also auch nicht zu liegen. Hmmmm... mal den Apache neu starten...so langsam will ich aber wissen woran das liegt auch wenn ich es eigendtlich garnicht wissen muss
                  ja aber dann ist doch alles richtig???
                  Du hattest vorher gesagt dass, hier in diesem Fall, die ID3 nochmal belegt wird...

                  EDIT:
                  sorry hat da was falsch verstanden
                  [Test] MySQL cli Emulator

                  Kommentar


                  • #24
                    Also ich habs jetzt echt mit allen probiert das zu reproduzieren. Apache neustart, MySQL neustart, ALTER, OPTIMIZE, Grimassen ziehen um Rechner zu verwirren und autoinc funktioniert tadellos bei jedem INSERT.
                    Immer ne neue (höchste) ID.

                    nach ein bissl Googlen fand ich auch nur Probleme mit autoinc von Leuten die sich darüber beschweren, das autoinc immer stur weiterzählt obwohl Datensätze gelöscht wurden

                    (so solls ja sein )

                    Also KEINE AHNUNG ! Kann also eigendtlich nur irgendein Ausnahmefall sein der ausgerechnet auch mal bei mir aufgetreten ist oder das ich mal selbst "irgendwas" Importet hab mit ID's und es schlichtweg vergessen hab. Egal jetzt... wer nur mal drauf achten obs nochmal passiert.

                    BTW: Mysql Version 4.0.15

                    Kommentar

                    Lädt...
                    X