Laat de kolom buiten de INSERT
verklaring helemaal . Het wordt gegenereerd door de database-engine. Uw vraag zou moeten zijn:
INSERT INTO employee (time, name)
VALUES (?, ?)
Ten tweede moet je eerst het invoegen uitvoeren en dan de sleutels uit het resultaat halen.
Ik denk dat je code zou moeten zijn:
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);
Merk op dat dit voorbeeld niet het succes van de uitgevoerde instructie of het bestaan van geretourneerde sleutels controleert.