[英]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
,有人对此有想法吗? 谢谢。
元数据接口实现由驱动程序供应商实现。 某些驱动程序和某些数据库可能不支持它。 这是来自Javadoc的文本:一些DatabaseMetaData方法以ResultSet对象的形式返回信息列表。 常规的ResultSet方法(例如getString和getInt)可用于从这些ResultSet对象检索数据。 如果给定形式的元数据不可用,将返回一个空的ResultSet。
表名称在oracle中区分大小写
或尝试以下方法
\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.