Bỏ cột ra khỏi INSERT
tuyên bố hoàn toàn . Nó sẽ được tạo bởi cơ sở dữ liệu. Truy vấn của bạn phải là:
INSERT INTO employee (time, name)
VALUES (?, ?)
Thứ hai, bạn phải thực hiện chèn trước, sau đó lấy các khóa ra khỏi kết quả.
Tôi tin rằng mã của bạn phải là:
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);
Lưu ý rằng ví dụ này không kiểm tra sự thành công của câu lệnh đã thực thi hoặc sự tồn tại của các khóa trả về.