TS: AUTO_INCREMENT müsste 2x gebraucht werden

Beitrag lesen

Hello,

sollte die Tabelle nicht in einem AUTO_INCREMENT Feld automatisch weiterzählen wenn per sql ein neuer Eintrag angelegt wird?

Autoincrement wird automatisch hochgezählt bis zum maxbigint. Wenn Du aber in die automatische Numerierung eingreifst, was bei MySQL geht, ist die Reihenfolge nicht mehr garantiert.

Und So füge ich die Einträge hinzu und frage sie auch per sql ab. D. h. also, dass ich mit sql sort by Position abfragen will, sodass es doch egal sein sollte wenn da eine Lücke drin sein sollte? Ich bräuchte einfach einen neuen Wert der den Eintrag erst einmal an das Ende stellt!

Du kannst nur eine Autoincrement-Spalte in jeder Tabelle haben.

OK? Also auf jeden Fall schonmal Danke mit Gruß Andreas

Du kannst selbstverständlich in einer zweiten Spalte selber entscheiden, wie dort die Werte sind. Es wird ja vermutlich ein unique Kombinationsschlüssel aus (Seitennummer und Position) werden müssen.

Wenn Du also eine Liste hast

--id---seite---pos---itemtype---attribs------------------------------
  10       1     1   a          a10, http://example.com, ,example.com      
  11       1     2   div        d2, viel text
  13       2     1   h1         h1-1, Zweite Seite

und willst dann auf der ersten Seite ein Item anhängen, dann kennst Du doch die Seitennummer und die Positon schon. Und wenn zwischen Abfrage (Erstellen der Liste) und Einfügeaktion jemand anders schneller war, dann weigert sich die Tabelle, weil Du den Kombinationsschlüssel unique anlegst.

Du brauchst aber jetzt eine Funktion, um Lücken zu schaffen, also um z. B. alle Positionsnummern in der Seite 1, die größer sind als 1, um eeins hochzuzählen. Anschließend kannst Du die entstandene Lücke dann belegen.

Verstanden?

Mehr gerne auf konkrete Rückfrage.

Liebe Grüße
Tom S.

--
Es gibt nichts Gutes, außer man tut es
Andersdenkende waren noch nie beliebt, aber meistens diejenigen, die die Freiheit vorangebracht haben.