Ich habe ein Programm, das inf aus einer MySQL-Tabelle verwendet, um Zeilen in einem JTable
zu erstellen. Ich benutze eine automatische Inkrementierung ID
, aber immer wenn ich eine Zeile aus der Datenbank lösche (und dafür die JTable
) und dann eine neue hinzufüge, habe ich zwischen den ID
's einen Haken.MySQL-IDs mit JTable-Zeilen synchronisieren
Zum Beispiel speichert meine MySQL-Tabelle jetzt 3 Zeilen mit ID
1,2 und 4, die in der JTable
als Zeilen mit Zeilennummer 1,2 und 3 gespeichert sind. Das vermasselt wirklich meine Logik.
Daher möchte ich wissen, ob es eine Möglichkeit gibt, es so zu machen, dass jedes Mal, wenn ich eine Zeile aus dieser Tabelle lösche, alle IDs unter ID
aktualisiert werden.
Ich hatte gehofft, dass dies mit einer Abfrage erreicht werden könnte, oder?
'Ich hatte gehofft, dies mit einer Abfrage erreicht werden konnte, kann es? '- Ist das nicht der automatisch inkrementierende ID-Teil der Tabelle? Können Sie diese ID nicht einfach von der SQL-Abfrage zurückgeben und diesen Wert dann in der JTable anzeigen? Der Schlüssel zu einer Tabelle ist, dass sie sich im Laufe der Zeit nicht ändert. Das Zurücksetzen der ID beim Löschen einer Zeile ist also nicht sinnvoll. – camickr
Nein, weil ich das Tabellenmodell verwende, das automatisch die Zeile mit dieser ID angibt. Wenn beispielsweise ein benutzerdefinierter Renderer verwendet wird, werden die Zeilen so gezählt. – BRHSM
Das war mein Punkt. Reihen Sie die Zeilen nicht automatisch ab. Die ID-Nummer sollte sich NICHT ändern. Verwenden Sie die ID aus der SQL-Tabelle, um sie in der JTable anzuzeigen. – camickr