【发布时间】:2018-08-10 14:15:04
【问题描述】:
我想检查java中cassandra表中是否存在列,如果存在则执行操作。我该怎么做?
【问题讨论】:
标签: java cassandra cassandra-3.0 cassandra-2.0 datastax-java-driver
我想检查java中cassandra表中是否存在列,如果存在则执行操作。我该怎么做?
【问题讨论】:
标签: java cassandra cassandra-3.0 cassandra-2.0 datastax-java-driver
您可以通过Metadata class 获取表定义。比如:
Column column = cluster.getMetadata().getKeyspace("ks-name")
.getTable("table-name").getColumn("column-name");
if (column != null) {
// do your stuff
}
【讨论】:
扩展@Alex ott 答案,如果您在执行查询后已经有结果集/行,那么您可以使用此检查列是否已存在于行中
row.getColumnDefinitions().getIndexOf(<columnName>)。
如果返回索引为非负数,则该列存在于该行中。
int indx = row.getColumnDefinitions().getIndexOf(columnName);
if(indx > -1){
// column-exists.
}
.
【讨论】: