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

Posted

技术标签:

【中文标题】使用 JAVA 类从元数据 DatabaseMetaData 中获取特定数据库表的外键和引用表名【英文标题】:Getting foreign key and refering table name of particular database table from metadata DatabaseMetaData using JAVA class 【发布时间】:2013-06-18 12:53:08 【问题描述】:

我正在编写 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】:

我有解决方案 bt 以其他方式不使用 java,而不是使用 java 获取值,我对“information_schema”(默认情况下在 mysql 中)数据库和“REFERENTIAL_CONSTRAINTS”表执行查询以获取各自的所有参考所需数据库表

【讨论】:

但这不是解决方案。我也需要同样的答案。

以上是关于使用 JAVA 类从元数据 DatabaseMetaData 中获取特定数据库表的外键和引用表名的主要内容,如果未能解决你的问题,请参考以下文章

我正在尝试从元天气 api 获取数据,但它不让我

SQLAlchemy Asyncio ORM 在从元数据中检索表和列时无法查询数据库

如何使用 JavaScript 从元标记中获取信息?

从元数据中提取错误验证消息

Java Jar 文件主类从命令行运行时运行,而不是从 Windows 批处理文件运行

JDBC:从元数据中获取数组的类型