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;
}
相关推荐
neo_Ggx231 小时前
MySQL数据库备份攻略:从Docker到本地部署
数据库·mysql·docker
武子康2 小时前
Java-118 深入浅出 MySQL ShardingSphere 分片剖析:SQL 支持范围、限制与优化实践
java·大数据·数据库·分布式·sql·mysql·性能优化
问道飞鱼5 小时前
【数据库相关】TxSQL新增数据库节点步骤
数据库·mysql·txsql·新增节点
Ka1Yan6 小时前
MySQL索引优化
开发语言·数据结构·数据库·mysql·算法
程序猿 董班长9 小时前
springboot配置多数据源(mysql、hive)
hive·spring boot·mysql
且行志悠14 小时前
Mysql的使用
mysql
白鹭14 小时前
MySQL源码部署(rhel7)
数据库·mysql
星期天要睡觉16 小时前
MySQL 综合练习
数据库·mysql
JosieBook17 小时前
【数据库】MySQL 数据库创建存储过程及使用场景详解
数据库·mysql
处女座_三月17 小时前
改 TDengine 数据库的时间写入限制
数据库·sql·mysql