не может понять поведение jdbc getExportedKeys () - PullRequest
1 голос
/ 02 марта 2012

Я пытаюсь получить ключ Foregin в таблице, используя этот код

DatabaseMetaData dbm=conn.getMetaData();
List options=new ArrayList();
esultSet rslt=null;
rslt=dbm.getExportedKeys(null, schema, tableName);
while(rslt.next()){
                options.add(rslt.getString("FKCOLUMN_NAME"));
            }

Я сомневаюсь, что когда-нибудь получаю одно и то же имя столбца этой таблицы дважды, трижды или много раз в наборе результатов?Почему так?Как я могу найти, что этот конкретный столбец в наборе результатов связан с первичным ключом таблицы?

Ответы [ 2 ]

1 голос
/ 02 марта 2012

Поскольку этот столбец присутствует в нескольких внешних ключах?

0 голосов
/ 30 мая 2013

getExportedKeys на самом деле не является «get-foreign-keys» ... getExportedKeys возвращает данные о полях, в которых первичный ключ этой таблицы действует как внешний ключ.То есть строки НЕ являются первичными ключами для таблицы, передаваемой в качестве параметра.Возможно, вы можете использовать getImportedKeys ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...