我正在编写Java应用程序。我有一个ResultSet。现在我想找出表格主键的coloumn名称。
是否可以通过ResultSet对象或ResultSetMetaData对象或任何其他方式获取该coloumn名称。
我没有找到任何办法找到这个。
答案 0 :(得分:9)
没有。您不会从 ResultSet 或 ResultSetMetadata 获取该信息。
您想要使用的是DatabaseMetadata课程。从该课程中检查 getPrimaryKeys 方法以获取所需信息。
当然,要使用它,您需要知道表的名称。
答案 1 :(得分:3)
我想补充一点,如果在一个表中你有自动增量字段,它必须是主键。所以,你的代码看起来像这样:
if(metaColumn.isAutoIncrement(i)) {
primaryKey = metaColumn.getColumnName(i);
i=nColoumn+1;
}
它使用ResultSetMetaData
。
答案 2 :(得分:0)
可用于验证元数据信息的一个很好的工具是dbVisualizer。
它使用JDBC元数据来检索表定义和数据库的其他部分。模式和目录是表定义视图中的列 - 因此您可以检查最喜欢的数据库的这些列中的值。
dbVisualizer提供免费的基本版本。