2017-05-18 1 views
1

Ich habe einige Tabelle in Cassandra, und ich muss Feld mit Standarddaten hinzufügen.Aktualisieren Sie vorhandene Zeilen, während Cassandra ändern Tabelle

Gibt es die Möglichkeit, bereits vorhandenen Zeilen einen Standardwert hinzuzufügen, ohne alle Daten manuell zu aktualisieren?

ALTER TABLE data ADD some_bool bool; // Make it false for all existing records. 

(Text & Tabellen: ALTER TABLE Ist vorhandenen Zeilen nicht aktualisiert)

+1

Wenn Sie eine neue Spalte hinzufügen, haben vorhandene Daten nicht den Wert dieser Spalte. Wenn Sie also den Wert dieser Spalte erhalten, erhalten Sie null. Aber für booleschen Typ erhalten Sie falsch und Int, bigint erhalten Sie 0, wenn Sie Java-Treiber verwenden –

Antwort

2

Sie haben auf der Anwendungsebene davon kümmern, wenn Sie die Zeilen abrufen. Cassandra wird Daten an den Client als NULL zurückgeben, also hängt alles von dem Treiber und der Sprache ab, die Sie verwenden. Überprüfen Sie die Dokumentation des Treibers, um herauszufinden, ob die zurückgegebenen Werte Null oder echte Werte sind. Sie haben normalerweise eine isNull Methode, um solche Überprüfungen durchzuführen.

Verwandte Themen