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;
}
相关推荐
_F_y17 小时前
MySQL用C/C++连接
c语言·c++·mysql
五岳19 小时前
DTS按业务场景批量迁移阿里云MySQL库实战(上):技术选型和API对接
mysql·阿里云·dts
仍然.20 小时前
MYSQL--约束
数据库·mysql
定偶1 天前
MySQL安装
数据库·mysql
Zzzzmo_1 天前
【MySQL】数据库约束 及 表的设计
数据库·mysql
我真的是大笨蛋1 天前
Redo Log详解
java·数据库·sql·mysql·性能优化
Jess071 天前
MySQL内置函数
数据库·mysql
凉年技术1 天前
MySQL 5.6 2000 万行高频读写表新增字段实战:从慢执行到无锁落地全解析
mysql
xiaoye37081 天前
redis和mysql数据库如何保证数据一致性
redis·mysql
一条闲鱼_mytube1 天前
MySQL vs PostgreSQL 对比
数据库·mysql·postgresql