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 小时前
MySQL基础入门:从零理解数据库与SQL
数据库·mysql·教程
儒雅的大叔2 小时前
MySQL数据库InnoDB数据恢复工具使用总结
数据库·mysql·adb
kiki-bf7 小时前
可用的mysql本地安装教程
数据库·mysql
携程DBA7 小时前
数据库软限制相关研究
linux·mysql·性能
Anokata8 小时前
MYSQL SQL 执行系列2
mysql
北冥you鱼8 小时前
Go 语言初始化 MySQL 数据库实战指南:从零到生产环境部署
数据库·mysql·golang
琢森9 小时前
服务器崩溃后,我是怎么用一条备份脚本救回全部数据的
mysql
宠友信息9 小时前
MySQL 租户数据隔离在即时通讯源码后端中的落地方式
java·数据库·spring boot·redis·websocket·mysql
wear工程师10 小时前
MySQL 索引失效别再背八股:看懂 EXPLAIN,面试官追问也不慌
mysql·面试
逆向编程11 小时前
MySQL 负载均衡完整入门实战教程
mysql·adb·负载均衡