Mailinglisten-Archive |
Holger Faustmann wrote: > Wenn ich als Beispiel ein tinyint(x) unter mysql definiere, > dann ist bei dem Eintrag mit der ID 127 schluss, auch wenn > nur zwei Eintraege in der DB stehen. Genau. > Gibt es in PHP/MySQL eine Standardfunktion/-Loesung um die fehlenden Nein. > Werte in der DB zu ermitteln oder muss ich mir selber eine Loesung > basteln? Ja. > Wer mit jetzt sagt ich soll das Feld ID auf int(10) aendern, > der hat das Problem nicht verstanden. Das hab' ich tatsaechlich nicht. Ich bin auch noch nie auf die Idee gekommen, ein tinyint-Feld mit auto_increment zu versehen. > Hintergrund: > Wenn ein Benutzer einer Internet-Anwendung (z.B. Redaktionssystem) > staendig seiten loescht, werde die Seiten-ID's immer groesser, obwohl, > nur wenige Seiten im System gespeichert sind. Genau. Bzw. wenn die Eintraege vom Ende her geloscht werden, damit also keine Luecken entstehen, werden bei MySQL < 3.23.xx unter Benutzung der ISAM-Tabellentypen diese freien IDs wieder aufgefuellt, bei MySQL ab 3.23.xx (bei MyISAM) hingegen nicht. MySQL stellt eben sicher, dass die vergebene ID nicht doppelt vorkommt, genau dies ist die Absicht von auto_increment. Beste Gruesse, Ralf
php::bar PHP Wiki - Listenarchive