Seite 1 von 1

Beitrag/Themen löschen Auto-Increment

Verfasst: 15.10.2013 15:34
von Maugrim
Hallo

Gibt es vielleicht ein Mod (oder wohl eher ein Snippet?) was den Auto-Increment der post_id sowie der topic_id automatisch mitaktualisiert, wenn man einen Beitrag löscht bzw ein Thema mit einem oder gar mehreren Beiträgen?

Ich hätte gerne fortlaufende Beitragszahlen in meinem Forum, Aber wenn mal was gelöscht wird, dann bleibt die post_id unvergeben

gleiches beim Löschen eines Users, dass dort auch die User_id zurückgesetzt wird?

Re: Beitrag/Themen löschen Auto-Increment

Verfasst: 15.10.2013 17:02
von BNa
Das ist "made by design" und macht auch Sinn, daher eher unwarscheinlich, das anzupassen.

Re: Beitrag/Themen löschen Auto-Increment

Verfasst: 15.10.2013 17:10
von Maugrim
ah ok

was würde passieren, wenn der Increment bei den Posts zB auf 300 ist, und ich Post Nr. 250 lösche und auto_increment auf 249 setze

würde es dann zu Konflikten kommen, wenn ein neuer Beitrag geschrieben wurde, und dann die 251 dran wäre, die aber schon existiert?

gleiches bei Usern
wenn ich einen mittendrin lösche

Re: Beitrag/Themen löschen Auto-Increment

Verfasst: 15.10.2013 19:59
von Miriam
Maugrim hat geschrieben:...
was würde passieren, wenn der Increment bei den Posts zB auf 300 ist, und ich Post Nr. 250 lösche und auto_increment auf 249 setze

würde es dann zu Konflikten kommen, wenn ein neuer Beitrag geschrieben wurde, und dann die 251 dran wäre, die aber schon existiert?...
Es würde garnichts passieren, denn ALTER TABLE phpbb_posts AUTO_INCREMENT = 249; funktioniert nur dann, wenn die letzte vergebene ID in der Auto-Increment-Spalte kleiner als 249 ist. In Deinem Beispiel ist sie 299.
Wohingegen ALTER TABLE phpbb_posts AUTO_INCREMENT = 1000; funktionieren würde.
Analog gilt das für die Tabelle phpbb_users.
MySQL Server Doku hat geschrieben:With MyISAM tables, if you do not change the AUTO_INCREMENT column, the sequence number is not affected. If you drop an AUTO_INCREMENT column and then add another AUTO_INCREMENT column, the numbers are resequenced beginning with 1.*
*Quelle: http://dev.mysql.com/doc/refman/4.1/en/alter-table.html