Я работаю с JDBC, и я создал простую таблицу, используя postgresql:
create table bank (
bank_id int,
bank_name varchar(40),
bank_address varchar(80),
user_id int,
user_first_name varchar(40),
user_surname varchar(40),
user_phone varchar(12),
primary key(bank_id, user_id)
);
Проблема в том, что когда я проверяю, является ли bank_id уникальным, я получаю значение true (когда я ожидал false, ofc). Вот код моей функции, которая проверяет, является ли столбец в таблице уникальным:
private static boolean checkIfUnique(Connection conn, String tableName,
String columnName) {
try {
DatabaseMetaData meta = conn.getMetaData();
ResultSet rs = meta.getIndexInfo(null, null, tableName, true, true);
while(rs.next()) {
if (rs.getString(9).equals(columnName)) {
return true;
}
}
return false;
} catch (Exception e) {
System.err.println("Exception: " + e + "\n" + e.getMessage());
}
return false;
}
Я не совсем уверен, что я сделал не так. Любое предложение поможет. Спасибо.