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;
}
相关推荐
瞬间&永恒~14 小时前
【MySQL】 主从复制多拓扑搭建实验
运维·数据库·mysql·云原生
井川廊咏15 小时前
vi 删除指定范围的行,不用再反复按 dd
数据库·mysql
小码农 - 初15 小时前
MySQL前言
mysql
z落落15 小时前
StudentInfo表 分页、增删改 存储过程+C# WinForm 存储过程实现分页和增删改查
数据库·sql·mysql
数据库小学妹16 小时前
MySQL联合索引失效怎么解决?从key_len逆向分析
数据库·mysql·性能优化·索引失效·联合索引·最左前缀·keylen
shuair19 小时前
MySQL 权限管理
数据库·mysql
开源推荐官20 小时前
刚上架的商品搜不到,tigshop开源商城搜索是怎么查的
mysql·开源·php
tian_jiangnan1 天前
Flink 流计算进阶:手写一套通用的 Redis/MySQL /Kafka数据源封装工具类
redis·mysql·flink
老杨聊技术1 天前
CentOS 7 安装 MySQL 8 保姆级教程
linux·mysql·centos
sunxr.2271 天前
Mysql-----最后一次作业
数据库·mysql