MySQL 查找指定表名的表的主键

原理

sql 复制代码
SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE 
WHERE TABLE_NAME = 表名 AND CONSTRAINT_NAME = 'PRIMARY'

方法

java 复制代码
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;
}
相关推荐
wear工程师34 分钟前
Redis 和 MySQL 缓存一致性,延迟双删为什么不是强一致
redis·mysql
这个DBA有点耶2 小时前
数据库迁移灰度验证:从读流量到双写再到全量切换的完整路径
数据库·mysql·架构
01_ice7 小时前
MySQL事务
数据库·mysql
旺旺仙贝呦8 小时前
MySQL__MongoDB__Redis 入门
redis·mysql·mongodb
隔窗听雨眠10 小时前
MySQL索引机制深度解析:从B+树原理到高并发查询优化的完整指南
数据库·b树·mysql
我的xiaodoujiao10 小时前
使用PyMySQL模块技术操作MySQL数据库
数据库·python·测试工具·mysql
灯澜忆梦21 小时前
【MySQL17】进阶篇 | InnoDB引擎
数据库·mysql
布莱克6051 天前
理解数据库聚簇索引:原理、优势与适用场景
数据库·mysql
这个DBA有点耶1 天前
MySQL迁移实战:从mysqldump到专业工具的完整选型指南
数据库·mysql·dba
01_ice1 天前
MySQL内外连接
数据库·mysql