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;
}
相关推荐
计算机程序设计小李同学8 分钟前
平价药店销售与管理系统
java·mysql·spring·spring cloud·ssm
only°夏至besos37 分钟前
MySQL 运维实战:常见问题排查与解决方案
运维·数据库·mysql
Dxy123931021643 分钟前
MySQL如何批量更新数据:高效方法与最佳实践
数据库·mysql
lkbhua莱克瓦241 小时前
进阶-存储对象2-存储过程上
java·开发语言·数据库·sql·mysql
m0_598177231 小时前
MySQL项目开发 (2)
数据库·mysql
lkbhua莱克瓦242 小时前
进阶-存储对象1-视图
java·数据库·sql·mysql·视图
-XWB-2 小时前
【MySQL】XtraBackup 全量备份还原操作指南(MySQL 5.7 / 8.0 通用)
数据库·mysql·adb
oMcLin2 小时前
如何在 CentOS 7 上通过配置 MySQL Cluster 部署高可用的跨境电商数据库,确保数据同步与高并发处理
mysql·centos
Tancenter2 小时前
Mysql和ElasticsSearch
数据库·mysql·elasticsearch
十年磨一剑~2 小时前
springboot+vue+mysql手搓一个管理系统
vue.js·spring boot·mysql