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 8.0 SQL优化黑科技,面试官都不一定知道!
后端·sql·mysql
寒山李白1 小时前
MySQL安装与配置详细讲解
数据库·mysql·配置安装
zhangzhangkeji3 小时前
(33)课54--??:3 张表的 join-on 连接举例,多表查询总结。
mysql
?ccc?4 小时前
MySQL主从复制与读写分离
数据库·mysql
行止66 小时前
MySQL主从复制与读写分离
linux·数据库·mysql
ChicagoTypewriter6 小时前
MySQL用户和授权
mysql
圈圈编码7 小时前
悲观锁和乐观锁
java·开发语言·sql·mysql
学习中的码虫8 小时前
MySQL提升
数据库·mysql
卡布奇诺-海晨10 小时前
MySQL的MVCC机制
数据库·mysql