2017-06-02 60 views
1

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

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

我讀過,我必須先做出選擇,但如果我選擇不存在的列,它將返回一個錯誤。

回答

2

請注意,如果你在卡桑德拉3.x和,你會想從columns表查詢的system_schema密鑰空間:

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

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

(1 rows) 
2

您可以使用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'; 

如果上面的查詢返回的結果則列,否則不存在。