The ResultSetMetaData.isAutoIncrement()
method can tell us if a column value is automatically numbered or not. This method return true
when the column is an auto-increment column, otherwise it returns false
. See the example below where we check if the first column (id
) is an auto-increment column.
package org.kodejava.jdbc;
import java.sql.*;
public class IsAutoIncrementExample {
private static final String URL = "jdbc:mysql://localhost/kodejava";
private static final String USERNAME = "root";
private static final String PASSWORD = "";
public static void main(String[] args) {
try (Connection connection =
DriverManager.getConnection(URL, USERNAME, PASSWORD)) {
Statement statement = connection.createStatement();
ResultSet resultSet = statement.executeQuery(
"SELECT id, username, order_date FROM purchase_order");
// The ResultSetMetaData is where all metadata related
// information for a result set is stored.
ResultSetMetaData metadata = resultSet.getMetaData();
if (metadata.isAutoIncrement(1)) {
System.out.println("Column `id` is an auto-increment column.");
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}
Maven dependencies
<!-- https://search.maven.org/remotecontent?filepath=mysql/mysql-connector-java/8.0.31/mysql-connector-java-8.0.31.jar -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.31</version>
</dependency>
Latest posts by Wayan (see all)
- How do I calculate days between two dates excluding weekends and holidays? - January 12, 2023
- How do I discover the quarter of a given date? - January 11, 2023
- How do I export MySQL database schema into markdown format? - January 10, 2023