繁体   English   中英

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

[英]How to get the column name of the primary key through jdbc

我的代码如下:

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

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

rs不为null,而rs.next()始终返回false ,有人对此有想法吗? 谢谢。

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

  2. 表名称在oracle中区分大小写

  3. 或尝试以下方法

    \n DatabaseMetaData dm = conn.getMetaData();\n ResultSet rs = dm.getExportedKeys(“”,“”,“ table1”);\n while(rs.next()) \n {    \n   字符串pkey = rs.getString(“ PKCOLUMN_NAME”);\n   System.out.println(“ primary key =” + pkey);\n }\n

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM