检查 derby 数据库中的 table 是否存在自动递增
Check if Auto Increment exist in a table in derby database
我在 Derby Database
中创建了一个具有自动递增功能的 table。
For example:
CREATE TABLE USERS (ID BIGINT PRIMARY KEY GENERATED ALWAYS AS IDENTITY (START WITH 1, INCREMENT BY 1) , USER_NAME)
我现在必须检查 id 列的详细信息,
String query = "SELECT ID FROM USERS ";
conn = new Kanexon().db();
stmt = conn.prepareStatement(query);
rs = stmt.executeQuery();
rsmd = rs.getMetaData();
if(rs.next()){
System.out.println("ColumnLabel: "+rsmd.getColumnLabel(1));
System.out.println("ColumnName: "+rsmd.getColumnName(1));
System.out.println("ColumnTypeName: "+rsmd.getColumnTypeName(1));
}
它给我这样的输出:
ColumnLabel: ID
ColumnName: ID
ColumnTypeName: BIGINT
有什么方法可以检查 ID
列是否自动递增。
要查明列是否自动递增,请对 ResultSetMetadata 使用 isAutoIncrement 方法:https://docs.oracle.com/javase/7/docs/api/java/sql/ResultSetMetaData.html#isAutoIncrement(int)
我在 Derby Database
中创建了一个具有自动递增功能的 table。
For example:
CREATE TABLE USERS (ID BIGINT PRIMARY KEY GENERATED ALWAYS AS IDENTITY (START WITH 1, INCREMENT BY 1) , USER_NAME)
我现在必须检查 id 列的详细信息,
String query = "SELECT ID FROM USERS ";
conn = new Kanexon().db();
stmt = conn.prepareStatement(query);
rs = stmt.executeQuery();
rsmd = rs.getMetaData();
if(rs.next()){
System.out.println("ColumnLabel: "+rsmd.getColumnLabel(1));
System.out.println("ColumnName: "+rsmd.getColumnName(1));
System.out.println("ColumnTypeName: "+rsmd.getColumnTypeName(1));
}
它给我这样的输出:
ColumnLabel: ID
ColumnName: ID
ColumnTypeName: BIGINT
有什么方法可以检查 ID
列是否自动递增。
要查明列是否自动递增,请对 ResultSetMetadata 使用 isAutoIncrement 方法:https://docs.oracle.com/javase/7/docs/api/java/sql/ResultSetMetaData.html#isAutoIncrement(int)