warum datensatzeinträge mal unten und mal oben ?

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

  • warum datensatzeinträge mal unten und mal oben ?

    hallo,

    womit hängt das denn zusammen, daß die datensätze mal ganz normal unten in der tabelle angefügt werden wie zb
    1
    2
    3
    4
    5

    und ein andermal oben :

    9
    8
    7
    6
    1
    2
    3
    4
    5
    10
    11

    ist das ein bestimmter fehler im code ?

    viele grüße, skys

  • #2
    Dazu müsste man den Code sehen, aber ich denke es handelt sich mit an Sicherheit grenzender Wahrscheinlichkeit um einen Fehler

    Kommentar


    • #3
      ne, du kannst praktisch nicht genau bestimmen, an welcher Stelle ein neuer Datensatz eingefügt wird, und das ist eigentlich auch nicht nötig. Dafür gibt es die 'ORDER BY' Funktion. Hängt glaube ich mit der Datenorganisation des DBMS zusammen...ganz genau weiß ich's dann auch nicht.

      Kommentar


      • #4
        hallo,

        Dazu müsste man den Code sehen, aber ich denke es handelt sich mit an Sicherheit grenzender Wahrscheinlichkeit um einen Fehler
        du stimmst mich direkt wieder etwas optimistisch, danke sowas dachte ich mir fast g

        den code habe ich inzwischen schon wieder so oft verändert - wenn es das nächste mal falsch rum zählt, kopier ich ihn. hatte gehofft, es wäre irgendein grundsätzliches problem und somit vllt leichter zu lösen.

        du kannst praktisch nicht genau bestimmen, an welcher Stelle ein neuer Datensatz eingefügt wird
        oh - dann hatte ich bisher ja richtig gesittete tabellen
        zwar gibt es die sotierfunktion, aber irgendwie denke ich mir, wenn es schön untereinander auflistet, dann wäre es 'richtig(er)'.

        viele grüße, skys

        Kommentar


        • #5
          Ach es geht um eine Datenbank... so etwas wäre wichtig zu erwähnen, wenn du dein Problem beschreibst

          Normalerweise gibt es ja immer irgend ein Feld, nach dem du sortierst, wie ZombieChe schon gesagt hat. Das einfachste und gebräuchliche wäre, einfach einen Primärschlüssel als AUTO_INCREMENT zu nehmen, der in jedem neuen Datensatz um eins erhöht wird. Dann hast du eine eindeutige Zuordnung der Tabellendaten zu einem einzigartigen Schlüssel.

          Kommentar


          • #6
            sorry, 'tabelle' war evtl nicht so ganz klar.

            ja, geht um eine db und die id ist dort auch auto_increment und primärschlüssel - und dennoch wurde der datensatz mal unten und mal oben hinzugefügt. vielleicht finde ich ein codebeispiel (aber wenn ichs will, macht es das sicher wieder nicht)

            viele grüße, skys

            Kommentar


            • #7
              Wie ZombieChe bereits sagte, kannst du dich auf die Reihenfolge der Datensätze in der Tabelle nicht verlassen. Wie das DBMS die Daten ablegt, ist dessen Sache. Nutze order by, damit erreichst du, was du brauchst!

              Kommentar


              • #8
                Öhm das liegt doch eigentlich daran das der Auto_Inc Zähler nicht zurück gesetzt wird wenn man Datensätze löscht. Oder liege ich da falsch?! Wenn du neue Datensätze hinzufügst, zählt der Counter einen hoch. Ganz Egal ob jetzt der letzte Datensatz die ID 5 hat oder nicht. Kommt halt drauf an wie hoch er schon gezählt hat. Aber die Order der IDs ist doch eigentlich eh schnuppe, weil man die ja wie schon gesagt mit Asc und Desc wundertoll ordnen kann
                Zuletzt geändert von analyzer; 25.02.2008, 14:59.

                Kommentar


                • #9
                  Das hat auch nichts mit Auto-Increment oder was auch immer für Schlüsseln zu tun. Es ist grundsätzlich undefiniert, wie die DB etwas speichert. Es is Aufgabe der DB, die Daten zu verwalten und wieder zu finden, aber die Definition, wie du die Daten haben willst, liegt ausschliesslich bei dir.
                  Selbst wenn die DB die Daten immer gleich ausgibt, kannst du dich nicht darauf verlassen, dass das bei einer neuen Version immer noch so ist.
                  Gruss
                  H2O

                  Kommentar


                  • #10
                    genau und das speichern solltest du mysql überlassen, aber ich glaub, dass mysql die daten einfach immer hinten anfügt. theoretisch ist es dann immer nach der reihenfolge der eintragungen sortiert, bzw. bei einem Primschlüssel (auto_increment) nach diesem!

                    wenn das nicht so wäre, würde mich interessieren, wieso mysql beim löschen mit delete fragemente bildet und diese nicht aufstockt!?

                    greetz Flip
                    Find Parties?
                    Partysuche

                    Kommentar

                    Lädt...
                    X