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;
}
相关推荐
sxlishaobin44 分钟前
MySQL- explain
数据库·mysql
源代码•宸1 小时前
Leetcode—620. 有趣的电影&&Q3. 有趣的电影【简单】
数据库·后端·mysql·算法·leetcode·职场和发展
快乐肚皮2 小时前
MySQL递归CTE
java·数据库·mysql·递归表达式
中國移动丶移不动2 小时前
Python MySQL 数据库操作完整示例
数据库·python·mysql
zhcf7 小时前
【MySQL】聚簇索引与非聚簇索引
数据库·mysql
姓蔡小朋友7 小时前
MySQL事务、InnoDB存储引擎
java·数据库·mysql
拾荒的小海螺8 小时前
MySQL:死锁问题分析与解决方案
数据库·mysql
镜花水月linyi9 小时前
MySQL与Redis缓存一致性方案
redis·后端·mysql
xu_ws10 小时前
Linux CentOS 7.9 MySQL 8.0安装配置全攻略
linux·运维·mysql·centos
czlczl2002092510 小时前
双 Token 机制下的无感刷新(Refresh Token)后端实现
数据库·spring boot·redis·后端·mysql