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;
}
相关推荐
赵渝强老师1 小时前
【赵渝强老师】使用TiSpark在Spark中访问TiDB
数据库·mysql·tidb·国产数据库
用户8307196840822 天前
Java 告别繁琐数据统计代码!MySQL 8 窗口函数真香
java·sql·mysql
stark张宇2 天前
MySQL 核心内幕:从索引原理、字段选型到日志机制与外键约束,一篇打通数据库任督二脉
数据库·mysql·架构
Hoffer_3 天前
MySQL 强制索引:USE/FORCE INDEX 用法与避坑
后端·mysql
Hoffer_3 天前
MySQL 索引核心操作:CREATE/DROP/SHOW
后端·mysql
0xDevNull5 天前
MySQL索引进阶用法
后端·mysql
0xDevNull5 天前
MySQL索引用法
mysql
程序员小崔日记5 天前
一篇文章彻底搞懂 MySQL 和 Redis:原理、区别、项目用法全解析(建议收藏)
redis·mysql·项目实战
武子康5 天前
大数据-241 离线数仓 - 实战:电商核心交易数据模型与 MySQL 源表设计(订单/商品/品类/店铺/支付)
大数据·后端·mysql
用户8307196840826 天前
MySQL 查询优化 30 条封神技巧:用好索引,少耗资源,查询快到飞起
mysql