Я пишу Java-приложение. У меня есть ResultSet. Теперь я хочу узнать имя столбца первичного ключа таблицы.
Возможно ли получить это имя столбца через объект ResultSet или ResultSetMetaData Object или любым другим способом.
Я не нашел способа найти это.
Нет. Вы не получите эту информацию из ResultSet или ResultSetMetadata .
Для этого вы хотите использовать DatabaseMetadata class. Из этого класса проверьте getPrimaryKeys метод, чтобы получить необходимую информацию.
Конечно, чтобы использовать это, вам нужно знать имя таблицы.
Хочу добавить, если в таблице есть поле автоинкремента, это должен быть первичный ключ. Итак, ваш код может выглядеть так:
if(metaColumn.isAutoIncrement(i)) { primaryKey = metaColumn.getColumnName(i); i=nColoumn+1; }
Используется ResultSetMetaData.
ResultSetMetaData
Хороший инструмент, который вы можете использовать для проверки метаданных: dbVisualizer .
Он использует метаданные JDBC для получения определений таблиц и других частей базы данных. Схема и каталог - это столбцы в представлении определения таблицы, поэтому вы можете проверить, какие значения находятся в этих столбцах для вашей любимой базы данных.
dbVisualizer доступен в бесплатной базовой версии.