列をINSERT
から除外します ステートメント完全に 。これは、データベースエンジンによって生成されます。クエリは次のようになります:
INSERT INTO employee (time, name)
VALUES (?, ?)
次に、最初に挿入を実行してから、結果からキーを取得する必要があります。
あなたのコードは次のようにすべきだと思います:
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);
この例では、実行されたステートメントの成功や返されたキーの存在はチェックされないことに注意してください。