Je suis dans une situation où je dois modifier la clé primaire composite comme suit:
Ancienne clé primaire: (id, source, attribut_name, updated_at);
Nouvelle clé primaire que je veux: (source, id, attribut_name, updated_at);
J'ai émis la commande suivante (comme mysql):
ALTER TABLE general_trend_table
DROP PRIMARY KEY,
ADD PRIMARY KEY(source, id, attribute_name, updated_at);
J'ai eu l'erreur suivante:
Bad Request: ligne 1:38 pas d'alternative viable à l'entrée 'PRIMARY'
une idée de comment contourner ce problème? plus précisément, je veux savoir s'il existe un moyen de changer la clé primaire dans cassandra?
Il n'y a aucun moyen de modifier une clé primaire, car elle définit la façon dont vos données sont stockées physiquement.
Vous pouvez créer une nouvelle table avec la nouvelle clé primaire, copier les données de l'ancienne, puis supprimer l'ancienne table.
S'il existe une possibilité d'utiliser l'ancienne clé primaire, vous pouvez créer une vue matérialisée: http://docs.datastax.com/en/cql/3.3/cql/cql_using/useCreateMV.html Mais il n'est recommandé que si vous avez besoin de l'ancienne clé.