I'm in a situation where I need to change the the composite primary key as follows:
Old Primary Key: (id, source, attribute_name, updated_at);
New Primary Key I want: (source, id, attribute_name, updated_at);
I issued the following (mysql like) command:
ALTER TABLE general_trend_table DROP PRIMARY KEY, ADD PRIMARY KEY(source, id, attribute_name, updated_at);
I got the following error:
Bad Request: line 1:38 no viable alternative at input 'PRIMARY'
any idea how to get around this problem? more specifically I want to know is there any way to change the primary key in cassandra?
You can only rename clustering columns, which are part of the primary key. You cannot rename the partition key because the partition key determines the data storage location on a node.
False correct cassandra allows to define composite.
For a table with a composite partition key, Cassandra uses multiple columns as the partition key. These columns form logical sets inside a partition to facilitate retrieval. In contrast to a simple partition key, a composite partition key uses two or more columns to identify where data will reside.
There is no way to change a primary key, as it defines how your data is physically stored.
You can create a new table with the new primary key, copy data from the old one, and then drop the old table.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With