Lassen Sie die Spalte außerhalb des INSERT
Aussage vollständig . Es wird von der Datenbank-Engine generiert. Ihre Abfrage sollte lauten:
INSERT INTO employee (time, name)
VALUES (?, ?)
Zweitens müssen Sie zuerst die Einfügung durchführen und dann die Schlüssel aus dem Ergebnis holen.
Ich glaube, Ihr Code sollte sein:
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);
Beachten Sie, dass dieses Beispiel nicht den Erfolg der ausgeführten Anweisung oder das Vorhandensein zurückgegebener Schlüssel überprüft.