Feldinhalt soll Nachruecken!

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

  • Feldinhalt soll Nachruecken!

    Also ich habe da folgendes Problem mit einer MYSQL datenbank:
    zuerst ein Beispiel: ich habe eine tabelle mit z.B.: 3 eintraegen, mit der ID 1,2 und 3.. also ganz normal.
    Nun Loesche ich den eintrag mit der ID 1 und erstelle einen neuen, der jedoch erhaelt durch das auto_increment die ID 4.
    Wenn ich nun die Tabelle ausgebe, hab ich dann drei eintraege mit der ID
    2,3,4

    obwohl es eigentlich nicht viel ausmacht, wuerde ich jedoch gerne das so gehandelt bekommen, das wenn ich eine ID Loesche, die nachfolgenden nachruecken, also das aufjedenfall immer ein eintrag die ID 1 hat, und nicht das die Tabelle bei 2 beginnt.

    Ich denke mir auch, das das problematisch ist, wenn men irgendwann bei einer id von 60000 oder so beginnt und bei 60005 endet.

  • #2
    vergiss es. auto_increment soll ja genau das nachrücken verhindern. schliesslich muss eine DB konsistent sein/bleiben.

    suche mal im forum nach weiteren gründen dafür. da gabs schon mal ne diskussion zu.
    INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


    Kommentar


    • #3
      ich hab zwar geucht aber so richtig was zu meinem thema nicht gefunden, mag es an meiner mangelhaften erfahring mit der suchfunktion liegen.

      Also soll ich das mit dem nachruecken lassen ja? ergibt sich dann irgendwann nicht das problem, das der wert zu gross fuer ne Variable sein wird, also wenn die id die eigenschaft tinyint(3) hat, gibts dann da nicht irgendwo ne odere grenze?

      Und wo ich schon dabei bin, kennt jemand ne gute seite mit ner MySQL Befehlsreferenz auf deutsch?

      Kommentar


      • #4
        Original geschrieben von Iron_Rob
        Also soll ich das mit dem nachruecken lassen ja? ergibt sich dann irgendwann nicht das problem, das der wert zu gross fuer ne Variable sein wird, also wenn die id die eigenschaft tinyint(3) hat, gibts dann da nicht irgendwo ne odere grenze?
        dann sollte man auch einen höheren wert zulassen. INT(11) verwende ich immer. es gibt aber bestimmt auch noch größere möglichkeiten.

        Original geschrieben von Iron_Rob
        Und wo ich schon dabei bin, kennt jemand ne gute seite mit ner MySQL Befehlsreferenz auf deutsch?
        ja. schaue mal in meiner sig rein...
        INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


        Kommentar


        • #5
          Also ich habs ma mittels endlosschleife ausprobiert wie weit tinyint(11) reicht.. und naja lange hats net gedauert bis man keine neue id mehr einfuegen konnte. Also maximalwert nur 127 .. ist das normal?

          Jetzt kann ich nur noch eine einzige spalte in die datenbank einfuegen, will ich ne neue einfuegen, muss ich die vorherige loeschen... das ist nicht der sinn der sache oder?

          Ich weis nicht ob das normal ist, aber soll ich jetzt n script schreiben, der immer beim 127. eintrag ne neue tabelle erstellt?

          Naja... was sagt ihr dazu?

          oder kann man nachtraeglich die tinyint eigenschaft aendern?
          ich hab ja die tabelle jetzt erstellt, kann ich jetzt noch nachtraeglich den tinyint wert auf 12 oder so setzen?
          Zuletzt geändert von Iron_Rob; 20.05.2003, 16:54.

          Kommentar


          • #6
            setze deine spalte auf INT(11)
            INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


            Kommentar


            • #7
              oh, jetzt hab ich dummerweise tinyint(11) gesetzt.... ich hab zwar in diesem MySql Handbuch nachgeschaut, aber ich finde mich da noch nicht so zurecht wie ich mir das erhofft habe...
              Nunja mir fehlt der Befel um die Spalteneigenschaften nachtraeglich zu aendern, ohne das ich gleich die ganze tabelle neu erstellen muss...

              also in dem Fall das ich die Id von tinynt auf int umstelen kann.

              Kommentar


              • #8
                extra für dich (gut gelaunt nach aufstehen *g*)
                Code:
                ALTER TABLE tabellennahme
                MODIFY spaltenname INT(11) NOT NULL AUTO_INCREMENT
                wenn die spalte spaltenname dein primärschlüssel is, bleibt das erhalten du musst allerdings NOT NULL in deinem alter-statement schreiben, da im primärschlüssel NULL nicht erlaubt is. wenn du auto_increment weglässt fällt das auch weg, deswegen hab ich's explizit hingeschrieben

                steht aber eigentlich alles im handbuch
                Ich denke, also bin ich. - Einige sind trotzdem...

                Kommentar


                • #9
                  Verzeiht meinen Enthusiasmus, aber ich liebe dieses Forum!!!

                  Gut gelaunte Mods sind selten, vorallem bei meinen 'pippi' Fragen.

                  Kommentar


                  • #10
                    Original geschrieben von Iron_Rob
                    Gut gelaunte Mods sind selten, vorallem bei meinen 'pippi' Fragen.
                    1. ich nix mod, wir wollen doch korrekt bleiben
                    2. hast du glück gehabt, denn jetzt is mein kaffee alle und ich bin dementsprechend in ner miesen stimmung
                    3. solang die liebe platonisch bleibt is gut, wenn du dir danach die hände waschen musst, solltest du nochmal drüber nachdenken *fg*
                    4. np
                    Ich denke, also bin ich. - Einige sind trotzdem...

                    Kommentar

                    Lädt...
                    X