Seite 1 von 2

Maximum der TopicID neu definieren

Verfasst: 05.11.2007 20:28
von Khorne
Hossa alle zusammen,

ich bin der Khorne und hab ein Problem mit meinem Forum.

Wir benutzen das Forum schon seit vielen vielen Jahren und vor allem so intensiv, dass wir mit unseren Beiträgen an das Topiclimit von 16777215 gelangt sind.

Das Forum ist jetzt sozusagen vollgequatscht, neue Topics sind nicht mehr erstellbar. Selbst wenn wir uralte Beiträge (ich meine mit diesem Ausdruck nicht Antworten auf Beiträge!) löschen würden; ein neuer Beitrag würde generell die ID 16777216 haben wollen, doch durch die Tatsache, dass wir das Limit erreicht haben führt ein neuer Beitrag dazu, dass er die 16777215 überschreiben will.

Für ein neues Forum wollen wir uns ungern entscheiden, gibt es nicht eine andere Möglichkeit? Z.B. die Obergrenze auf 20.000.000 erweitert? Ginge das? Wäre diese Möglichkeit von MYSQL abhängig, oder von den Einstellungen der PHPBB-Skritpdateien?


Ich wäre Euch für eine Antwort sehr dankbar :)

Verfasst: 05.11.2007 21:08
von Boecki91
DAs müsste an der Spalte post_id liegen, diese hat MEDIUMINT als Typ mit Länge 8.

Stelle in der Tabellen:

phpbb_posts
phpbb_posts_text

Versuche die Länge mal auf 9 umzustellen.

Vergesse das Back-Up nicht. :D :roll:

Eventuell gibt es die post_id an weiteren Stellen der DB, aber das wird dann aus den Fehlermeldungen ersichtlich.

Wenn das stimmt was ich gerechnet habe kannst du dann bis 134217727 gehen...

Verfasst: 06.11.2007 01:39
von Khorne
Hallo Boecki91,

erst einmal Danke für deine schnelle Antwort und für deinen Tipp :)

Aber leider hat's nicht gefunzt :/ Entweder muss ich das Forum neuaufziehen, oder wir müssen ein neues Forum aufstellen ...


Vielen Dank nochmal :)

Verfasst: 06.11.2007 17:18
von Boecki91
Eventuell gibtst du uns mal die genaue Fehlermeldung.
Mediumint mal auf int mit Länge 9 setzen?

Verfasst: 07.11.2007 02:16
von Khorne
Huhu Boecki91,

"Allgemeiner Fehler

Error in posting

DEBUG MODE

SQL Error : 1062 Duplicate entry '16777215' for key 1

INSERT INTO forum_topics (topic_title, topic_poster, topic_time, forum_id, topic_status, topic_type, topic_vote) VALUES ('test', 3, 1194398154, 2, 0, 0, 0)

Line : 227
File : functions_post.php"

Verfasst: 07.11.2007 19:50
von Boecki91
Hast du in der Tabelle forum_topics auch schon die Länge verändert?

Verfasst: 07.11.2007 21:11
von Khorne
Huhu,

ja auf 9.

Verfasst: 07.11.2007 22:02
von Boecki91
den Typ auf INT geändert?

ändert sich die Fehlermeldung?

Verfasst: 12.11.2007 18:12
von Khorne
Huhu Boecki91,

erst einmal danke, dass du mir bisher auf jedes Posting eine Antwort gegeben hast :)

Folgendes, ich habe jetzt die Tabellen phpbb_posts, phpbb_posts_text und phpbb_topics per "Struktur"-Button so editiert, wie ich es durch deine Postings interpretiert habe:

phpbb_posts:
bei Feld (Post_id) = Typ (int(9))

phpbb_posts_text:
bei Feld (Post_id) = Typ (int(9))

phpbb_topics:
bei Feld (Topic_id) = Typ (int(9))

Der neueste Beitrag wurde mit der ID "0" abgespeichert. Ohne Fehlermeldung, aber auch ohne eine Spur im Forum zu hinterlassen, in dem ich den Beitrag erstellt hatte.

Hier die Fehlermeldung die dann beim Versuch herauskam, einen 2. Beitrag zu erstellen und herauszufinden, ob dieser Beitrag die ID "1" eingenommen hätte:
Error in posting

DEBUG MODE

SQL Error : 1062 Duplicate entry '0' for key 1

INSERT INTO forum_topics (topic_title, topic_poster, topic_time, forum_id, topic_status, topic_type, topic_vote) VALUES ('Testt', 3, 1194886648, 2, 0, 0, 0)

Line : 227
File : functions_post.php


Totaler Crash, oder?

Verfasst: 12.11.2007 18:54
von Boecki91
Vermutlich ist bei der Aktion der auto_increment Wert auf 0 Zurück gesetzt worden...

Schau mal nach ob im phpmyadmin bei der post_id usw. unter Extras noch auto_increment steht.

Wenn ja schau mal nach ob unter "Zeilenstatistik"
Die Werte
Zeilen
und
Nächste Autoindex

vorhanden sind und ob der Auto-Index um eins größer ist, wenn nicht
könnte dieser SQL-Befehl helfen:

Die 100 durch Anzahl der Zeilen +1 ersetzen.

Code: Alles auswählen

ALTER TABLE phpbb_posts AUTO_INCREMENT = 100;
ALTER TABLE phpbb_posts_text  AUTO_INCREMENT = 100;
ALTER TABLE phpbb_topics AUTO_INCREMENT = 100;
Vorher Back-Up machen :D

Und ich habe mal etwas nach weiteren post_id Spalten gesucht und gefunden:

phpbb_search_wordmatch auf Int 9 setzen reicht, kein Auto_increment