原理
SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE
WHERE TABLE_NAME = 表名 AND CONSTRAINT_NAME = 'PRIMARY'
方法
public static String getPk(String tableName) {
String sql = "SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE WHERE TABLE_NAME = ? AND CONSTRAINT_NAME = 'PRIMARY'";
PreparedStatement ps = null;
ResultSet rs = null;
String res = null;
try {
final Connection conn = JdbcUtil.getConnection();
ps = conn.prepareStatement(sql);
ps.setString(1, tableName);
rs = ps.executeQuery();
if (rs.next()) {
res = rs.getString("COLUMN_NAME");
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
JdbcUtil.release(ps, rs);
}
return res;
}