我想检查java中cassandra表中是否存在列,然后执行操作(如果存在)。我该怎么做?
答案 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.
}