mySQL LAST_INSERT_ID() hakeligkeiten...

DealeyLama

Mitglied
Hallo,
ich habe folgendes problem: ich hätte gerne nach dem löschen des Inhaltes einer Tabelle auch deren Auto-Inkrement-Wert geändert. Dazu benutze ich folgende - in Java - Anweisungen

Code:
   Class.forName("com.mysql.jdbc.Driver");
    Connection con = DriverManager.getConnection("jdbc:mysql://localhost/winterorbit", "root", "was-weiß-ich" );
    Statement statement = con.createStatement();
    statement.execute("DELETE FROM kontaktpersonen;");
    statement.execute("SELECT LAST_INSERT_ID(1);");

Leider bin ich nicht in der Lage damit den Auto-Inkrement-Wert zu ändern, und aus der Dokumentation bin ich nicht recht schlau geworden.
Falls hier Jemandem etwas zu diesem Problem einfiele, würde mich das sehr freuen.
Schönen Tag noch
Alexander Schell
 
erst mal eine gegenfrage, warum möchtest du diesen Wert ändern? Es hat ja einen Grund, warum der Wert automatisch hochgezählt wird...
Aber ein möglicher Lösungsanzahtz (nicht getestet) wäre ja, erst diesen letzten Wert zu speichern. und dann per SQL Statement wie folgt zu ändern (ungültige Syntax)
Code:
DER_WERT = LAST_INSERT_ID();
ALTER TABLE `test` AUTO_INCREMENT = [DER_WERT-1]
 
Nachdem ich die Tabelle geleert habe, möchte ich auch ihren Auto-Inkrement wieder auf '1' setzen. Es geth nur darum ein wenig Ordnung in der Nummerierung zu halten.
Vielen Dankfürden Tipp mit dem ALTER TABLE...SET AUTO_INCREMENT...
Das scheint zu funktionieren.
Schönen Tag noch
Alexander Schell
 
Zurück