Und in dieser Tabelle speicherst Du die Themen?
In welcher Tabelle speicherst Du die Beiträge?
Wenn das dieselbe Tabelle ist, dann liegt genau dort das Problem, in der Modellierung des Datenbankmodells.
Du hast in einem Forum mehrere 1:n-Beziehungen:
Angenommen Du hast verschiedene Kategorien (Foren).
Du hast also ein Forum mit einer ID. In jedem dieser Foren gibt es mehrere Threads. Ein Thread gehört genau zu einem Forum.
Jeder Thread kann mehrere Beiträge haben. Ein Beitrag gehört genau zu einem Thread.
User gibt es natürlich auch. Ein User kann beliebig viele Beiträge schreiben, aber ein Beitrag wurde von genau einem User geschrieben.
Es bestehen also (je nach Notation) folgende Beziehungen:
Forum <-1-------n-> Thread <-1-------n-> Beitrag <-n-------1-> User
Diese Entitäten werden durch je eine Tabelle dargestellt.
1:n-Beziehungen werden in (relationalen) Datenbanken durch zwei Tabellen dargestellt. Dabei erhält die Tabelle, von der mehrere Datensätze mit einem Datensatz der anderen Tabelle assoziert sein können, den Primärschlüssel (i.d.R. die ID) der anderen Tabelle als Fremdschlüssel.
Jede dieser Tabellen erhält also als Primärschlüssel eine ID, welche "AUTO_INCREMENT" ist.
Assozierte Tabellen erhalten diese ID als Fremdschlüssel.
Daraus ergibt sich folgende grundlegende Struktur, die natürlich um individuell gewünschte Attribute erweitert werden kann (die Tabelle Forum und entsprechend der Fremdschlüssel in der Tabelle Thread kann auch weggelassen werden, wenn man nur ein Forum haben will):
Tabelle Forum
- ID, int, Primärschlüssel, auto_increment
- Name, char
Tabelle Thread
- ID, int, Primärschlüssel, auto_increment
- ForumID, int, Fremdschlüssel
- Titel, char
Tabelle Beitrag
- ID, int, Primärschlüssel, auto_increment
- ThreadID, int, Fremdschlüssel
- UserID, int, Fremdschlüssel
- Inhalt, text
Tabelle User
- ID, int, Primärschlüssel, auto_increment
- Name, char
Wenn nun ein neuer Thread angelegt wird, wird dieser zunächst in Thread eingetragen. Mit
LAST_INSERT_ID wird die automatisch vom DBMS erzeugte ID ausgelesenen. Dann wird mit dieser ID der Beitrag in die Tabelle Beitrag eingetragen.
Wie Du siehst, benötigt man mit dem richtigen Datenbankdesign den auto_increment-Wert nicht im Voraus.
Gruß hpvw