在Apache Cassandra中添加列

问题描述:

如何在node.js中检查该列在Apache Cassandra中不存在?在Apache Cassandra中添加列

我只需要添加一列,如果它不存在。

我读过,我必须先做出选择,但如果我选择不存在的列,它将返回一个错误。

请注意,如果你在卡桑德拉3.x和,你会想从columns表查询的system_schema密钥空间:

[email protected]:system_schema> SELECT * FROm system_schema.columns 
    WHERE keyspace_name='*' 
     AND table_name='vehicle_information' 
     AND column_name='name'; 

keyspace_name | table_name   | column_name | clustering_order | column_name_bytes | kind | position | type 
---------------+---------------------+-------------+------------------+-------------------+---------+----------+------ 
* | vehicle_information |  name |    none |  0x6e616d65 | regular |  -1 | text 

(1 rows) 

您可以使用system.schema_columns表上的选择查询来检查列存在。

假设您的密钥空间test上有表test_table。现在你想检查一列test_column如果退出或没有。

使用下面的查询:

SELECT * FROM system.schema_columns WHERE keyspace_name = 'test' AND columnfamily_name = 'test_table' AND column_name = 'test_column'; 

如果上面的查询返回的结果则列,否则不存在。