使用JAVA类从元数据DatabaseMetaData获取外键并引用特定数据库表的表名

时间:2013-06-18 12:53:08

标签: java jdbc metadata resultset database-metadata

我正在编写java类来获取所有连接数据库对象(表)。我用过

rs = meta.getExportedKeys(conn.getCatalog(), null, "account_adjustment");  

    while (rs.next()) { 
       String fkTableName = rs.getString("FKTABLE_NAME");
       String fkColumnName = rs.getString("FKCOLUMN_NAME");
       int fkSequence = rs.getInt("KEY_SEQ");      
     }

给父表和它的列链接了这个问表(account_adjustment)

我也试过

 rs1 = meta.getImportedKeys(conn.getCatalog(), null, "account_adjustment");
    while (rs1.next()) {
      String fkTableName = rs1.getString("FKTABLE_NAME");
      String fkColumnName = rs1.getString("FKCOLUMN_NAME");
    int fkSequence = rs1.getInt("KEY_SEQ");
    }

给出当前表(account_adjustment)表及其外键列名 但我想要与这个外键链接的表名

1 个答案:

答案 0 :(得分:3)

我有解决方案bt以其他方式不使用java,而不是使用java i执行查询到'information_schema'(默认情况下在MySQL中)数据库和'REFERENTIAL_CONSTRAINTS'表来获取相应的所有引用所需数据库表