我想获取有关表的主键和外键的信息。这可以吗?如何? 我在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;
}
答案 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