Deixe a coluna fora do
INSERT
declaração inteiramente . Ele será gerado pelo mecanismo de banco de dados. Sua consulta deve ser:INSERT INTO employee (time, name)
VALUES (?, ?)
Em segundo lugar, você deve executar a inserção primeiro e, em seguida, obter as chaves do resultado.
Acredito que seu código deveria ser:
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);
Observe que este exemplo não verifica o sucesso da instrução executada ou a existência de chaves retornadas.