获取有关主键和外键的信息

时间:2014-06-06 04:10:28

标签: mysql jdbc

我想获取有关表的主键和外键的信息。这可以吗?如何? 我在DatabaseMetaData类中尝试了getExportedKeys,getImportedKeys,getCrossReference方法。但它返回一个空的结果集。这是代码 -

import java.sql.*;


    DatabaseMetaData meta = conn.getMetaData();

    ResultSet rs = meta.getPrimaryKeys(null, null, "employee");
    System.out.println("dfds");

    while (rs.next()) {

      String columnName = rs.getString("COLUMN_NAME");
      System.out.println("getPrimaryKeys(): columnName=" + columnName);
      System.err.println ("PK_NAME:" + rs.getObject (6)); 

    }


    st.close();
    conn.close();


}

public static Connection getMySqlConnection() throws Exception {
     Class.forName ("com.mysql.jdbc.Driver").newInstance ();  
     String url = "jdbc:mysql://localhost/foodmart";
        String user = "root";
        String passwd = "root";


    Connection conn = (Connection) DriverManager.getConnection(url, user, passwd);
    return conn;
  }

1 个答案:

答案 0 :(得分:0)

查询主键和外键的information_schema:

select *
from information_schema.key_column_usage 
where table_name = 'employee';

请参阅:http://dev.mysql.com/doc/refman/5.0/en/key-column-usage-table.html