Как обновить значение зарезервированного ключевого слова в базе данных Dynamo. Ошибка: имя атрибута является зарезервированным ключевым словом;зарезервированное ключевое слово: данные - PullRequest
0 голосов
/ 08 октября 2019

Это запрос на обновление, который я выполняю. Ошибка здесь "set data =: updateValue", данные являются зарезервированным ключевым словом из базы данных Dynamo. Я думаю, что я должен использовать обновление ExpressionAttributes здесь, но не уверен, как использовать для этого случая.

UpdateItemSpec updatetable = new UpdateItemSpec()
                .withPrimaryKey("pId", jsonContext.read("$.pId"))
                .withUpdateExpression("set data = :updateValue")
                .withValueMap(new ValueMap().with(":updateValue", jsonpathCreatorLocation2));
    locTable2.updateItem(updatetable);

1 Ответ

0 голосов
/ 08 октября 2019
final Map<String, String> expressions = new HashMap<>();
expressions.put("#d", "data");

UpdateItemSpec updatetable = new UpdateItemSpec()
                .withPrimaryKey("pId", jsonContext.read("$.pId"))
                .withUpdateExpression("set #d = :updateValue")
                .withValueMap(new ValueMap().with(":updateValue", jsonpathCreatorLocation2));
                .withExpressionAttributeNames(expressions);

locTable2.updateItem(updatetable);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...