我们如何使用Java确定Apache Phoenix中的表上是否已经存在一列?
答案 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();
}