Laissez la colonne en dehors de INSERT
déclaration entièrement . Il sera généré par le moteur de base de données. Votre requête doit être :
INSERT INTO employee (time, name)
VALUES (?, ?)
Deuxièmement, vous devez d'abord effectuer l'insertion, puis extraire les clés du résultat.
Je crois que votre code devrait être :
PreparedStatement preparedStatement =
connect.prepareStatement("INSERT into employee (time, name) VALUES (?,?)",
Statement.RETURN_GENERATED_KEYS);
preparedStatement.setTimestamp(1,
new java.sql.Timestamp(new java.util.Date().getTime()));
preparedStatement.setString(2, "Test");
preparedStatement.executeUpdate();
ResultSet tableKeys = preparedStatement.getGeneratedKeys();
tableKeys.next();
int autoGeneratedID = tableKeys.getInt(1);
Notez que cet exemple ne vérifie pas le succès de l'instruction exécutée ou l'existence des clés renvoyées.