如何检查apache phoenix中是否存在列?

时间:2018-07-06 06:41:58

标签: java phoenix

我们如何使用Java确定Apache Phoenix中的表上是否已经存在一列?

1 个答案:

答案 0 :(得分:0)

正常的数据库查询就是这样。

SELECT COUNT(*) FROM SYSTEM.CATALOG WHERE TABLE_NAME = 'TABLE_NAME' AND COLUMN_NAME = 'COL_NAME';

通过java进行检查(您可以通过运行上述查询并检查计数来获得此结果。)

public static boolean doesColumnExists(String connectionStr, String tableName, String columnName)
        throws SQLException {
    Connection phoenixConnection = DriverManager.getConnection(connectionStr);
    DatabaseMetaData databaseMetaData = phoenixConnection.getMetaData();
    ResultSet colResult = databaseMetaData.getColumns("", "", tableName, columnName);
    return colResult.next();
}