Home > Database > Mysql Tutorial > body text

How can I retrieve an auto-increment ID after inserting data using Prepared Statements in Java?

Susan Sarandon
Release: 2024-11-17 11:34:01
Original
722 people have browsed it

How can I retrieve an auto-increment ID after inserting data using Prepared Statements in Java?

Retrieving Autoincrement ID Using Prepared Statements in Java

When inserting data into a table with an auto-increment primary key, it can be desirable to retrieve the generated ID for the new record. While the AutoGeneratedKeys approach works for standard statement objects, it cannot be used directly with prepared statements.

Using Prepared Statements for Insert Operations

With prepared statements, you can execute an SQL query with dynamic parameters. To insert data with prepared statements, use the following format:

String sql = "INSERT INTO table (column1, column2) values(?, ?)";
PreparedStatement stmt = conn.prepareStatement(sql);
Copy after login

By setting the parameter values before calling executeUpdate(), you can execute the same query with different values multiple times.

Retrieving Autoincrement ID with Prepared Statements

To retrieve the auto-increment ID generated by a prepared statement, you need to specify Statement.RETURN_GENERATED_KEYS as an option when creating the prepared statement:

PreparedStatement stmt = conn.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS);
Copy after login

After executing the query, you can retrieve the auto-increment ID using the following code:

if (returnLastInsertId) {
   ResultSet rs = stmt.getGeneratedKeys();
   rs.next();
   auto_id = rs.getInt(1);
}
Copy after login

By making this slight modification to your code, you can successfully retrieve the auto-increment ID when using prepared statements for insert operations.

The above is the detailed content of How can I retrieve an auto-increment ID after inserting data using Prepared Statements in Java?. For more information, please follow other related articles on the PHP Chinese website!

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Latest Articles by Author
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template