如何通过jdbc获取主键的列名

2023-11-26

我的代码如下:

DatabaseMetaData dmd = connection.getMetaData();
ResultSet rs = dmd.getPrimaryKeys(null, null, tableName);

while(rs.next()){
    primaryKey = rs.getString("COLUMN_NAME");
}

rs 不为空,同时rs.next()总是回来false,有人对此有想法吗?谢谢。


  1. 元数据接口实现由驱动程序供应商实现。某些驱动程序和某些数据库可能不支持它。 这是来自 javadoc 的文本: 某些 DatabaseMetaData 方法以 ResultSet 对象的形式返回信息列表。常规 ResultSet 方法(例如 getString 和 getInt)可用于从这些 ResultSet 对象中检索数据。如果给定形式的元数据不可用,则将返回一个空的 ResultSet。

  2. oracle中表名区分大小写

  3. 或尝试以下方法

    
    
    DatabaseMetaData dm = conn.getMetaData( );
    ResultSet rs = dm.getExportedKeys( "" , "" , "table1" );
    while( rs.next( ) ) 
    {    
      String pkey = rs.getString("PKCOLUMN_NAME");
      System.out.println("primary key = " + pkey);
    }
      

    您还可以使用 getCrossReference 或 getImportedKeys 来检索主键

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何通过jdbc获取主键的列名 的相关文章

随机推荐