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

时间:2018-03-02 11:05:35

标签: java cassandra cassandra-2.0 cassandra-3.0 spring-data-cassandra

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

2 个答案:

答案 0 :(得分:2)

您可以通过Metadata class获取表格定义。类似的东西:

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

答案 1 :(得分:2)

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

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

相关问题