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;
}
相关推荐
墨迹的陌离4 小时前
【Linux】重生之从零开始学习运维之Mysql
linux·运维·服务器·数据库·学习·mysql
就叫飞六吧8 小时前
mysql全量备份、全量恢复demo
android·mysql·adb
Yu_Lijing8 小时前
MySQL进阶学习与初阶复习第二天
数据库·c++·学习·mysql
小高Baby@9 小时前
解决幻读问题
数据库·mysql
左直拳10 小时前
linux下变更mysql的数据文件目录
mysql·datadir·数据目录·变更数据目录·变更mysql目录
MacroZheng10 小时前
换掉Navicat!一款集成AI功能的数据库管理工具,功能真心强大!
java·后端·mysql
旧时光巷11 小时前
SQL基础⑫ | 视图篇
数据库·sql·学习·mysql·oracle·视图
二向箔reverse12 小时前
在 CentOS 中安装 MySQL 的过程与问题解决方案
linux·mysql·centos
WJ.Polar12 小时前
Python与Mysql
开发语言·数据库·python·mysql
看天走路吃雪糕13 小时前
墨者:SQL注入实战-MySQL
数据库·mysql·base64·sql注入·sqlmap·墨者靶场·tamper