有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

从java获取数据库中声明的所有索引

是否有标准的java api返回数据库中声明的索引。我尝试在数据库元数据中使用getIndexInfo(),但这似乎需要一个表名作为输入,不符合我的要求。 谢谢


共 (1) 个答案

  1. # 1 楼答案

    没有一种100%可移植的“查询”方式可以做到这一点,但是许多数据库确实实现了标准的信息_模式,所以您可以像这样进行查询

        sql = "select TABLE_NAME, INDEX_NAME, NON_UNIQUE, COLUMN_NAME " +
                "from INFORMATION_SCHEMA.STATISTICS " +
                "where TABLE_SCHEMA = ? " +
                "order by TABLE_NAME, INDEX_NAME, SEQ_IN_INDEX";
    

    MySQL和SQLServer支持这一点。甲骨文没有

    this page

    编辑:我最初说的是“没有100%可移植的方式”,但是您可以使用JDBC元数据API来实现这一点,但是正如前面的回答中所指出的,根据表的数量,这可能是低效的