私はpostgreSQLを使用しています。テーブルからすべての外部キーを取得しようとしています。これは私が現在使用している方法です。
public String getFKeyData(String tableName, int i) throws SQLException {
DatabaseMetaData dm = connection.getMetaData();
ResultSet rs = dm.getImportedKeys(null, null, tableName);
while (rs.next()) {
fkTableData = rs.getString(i);
}
return fkTableData;
}
このコードは機能しますが、最後の外部キーしか取得できません。これは、テーブルに 1 つしかない場合でも問題ありませんが、これは私のニーズには合いません。私がオンラインで見たすべての例はこれに非常に似ており、出力として 1 つの外部キーのみを提供します。現在、ボタンが押されたときにデータを印刷しています。
System.out.println(databaseConnection.getFKeyData(tableName,3));
System.out.println(databaseConnection.getFKeyData(tableName,4));
System.out.println(databaseConnection.getFKeyData(tableName,8));
3 外部キーのインポート元のテーブルを取得します。4 インポートされた主キー列の名前を取得します。8 外部キー列の名前を取得します。誰かが助けてくれれば、とても感謝しています。