2016-05-21 3 views
0

Ich möchte eine Tabelle namens EMPLOYEE in HBase aktualisieren, die wie folgt aussieht und der Zeilenschlüssel ist ID.Apache Phoenix: Die Werte in UPSERT müssen zu einer Konstante ausgewertet werden. java.sql.SQLException: ERROR 204 (22008)

ID,Name,Age 
"1","John","34" 
"2","David","22" 

Ich möchte eine weitere Spalte mit dem Namen Stadt in dieser Tabelle hinzufügen. Mit Apache Phoenix habe ich diesen Befehl zuerst ausgeführt, um das bestehende Schema zu ändern.

ALTER TABLE "EMPLOYEE" ADD IF NOT EXISTS "CITY" VARCHAR(40) 

Dieser Befehl wurde erfolgreich ausgeführt. Dann habe ich versucht, Werte einzufügen. Verwenden Sie den folgenden Befehl.

UPSERT INTO "EMPLOYEE" ("ID","CITY") VALUES ("1", "London") 

aber jedesmal, wenn ich dies ausführen, bekomme ich folgende Fehler -

Exception in thread "main" java.sql.SQLException: ERROR 204 (22008): Values in UPSERT must evaluate to a constant. 

Was ist es, was ich hier fehlt, dass der Fehler verursacht.

Antwort

0

ich herausgefunden, was den Fehler verursacht wurde, ändern doppelte Anführungszeichen zu einfachen Anführungszeichen für mich gearbeitet -

UPSERT INTO "EMPLOYEE" ("ID","CITY") VALUES ('1', 'London') 
0

String-Literalwerte sollten in einfachen Anführungszeichen stehen, '.

Verwandte Themen