如何检查java中cassandra表中是否存在列?

问题描述 投票:1回答:2

我想检查java中的cassandra表中是否存在列,然后执行操作(如果存在)。我该怎么做?

java cassandra cassandra-2.0 cassandra-3.0 spring-data-cassandra
2个回答
2
投票

您可以通过Metadata class获取表格定义。就像是:

Column column = cluster.getMetadata().getKeyspace("ks-name")
   .getTable("table-name").getColumn("column-name");
if (column != null) {
   // do your stuff
}

2
投票

扩展@Alex ott答案,如果在执行查询后已经有Resultset / Row,那么可以使用此row.getColumnDefinitions().getIndexOf(<columnName>)检查列中是否已存在该行。如果返回索引是非负的,则该列存在于该行中。

int indx = row.getColumnDefinitions().getIndexOf(columnName);
if(indx > -1){
   // column-exists. 
}

.

© www.soinside.com 2019 - 2024. All rights reserved.