在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='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)
答
您可以使用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';
如果上面的查询返回的结果则列,否则不存在。