Python dynamodb ExpressionAttributeValues包含无效键:语法错误;关键:
试图做一个update_项,如果找不到现有的属性(根据文档),它应该创建新属性,但是我得到了一个Sytax错误 我一整天都在绞尽脑汁,想弄明白为什么我会这样,但我似乎无法克服这一点。谢谢你的帮助 我得到的错误是:Python dynamodb ExpressionAttributeValues包含无效键:语法错误;关键:,python,amazon-dynamodb,Python,Amazon Dynamodb,试图做一个update_项,如果找不到现有的属性(根据文档),它应该创建新属性,但是我得到了一个Sytax错误 我一整天都在绞尽脑汁,想弄明白为什么我会这样,但我似乎无法克服这一点。谢谢你的帮助 我得到的错误是: ClientError: An error occurred (ValidationException) when calling the UpdateItem operation: ExpressionAttributeValues contains invalid key:
ClientError: An error occurred (ValidationException) when calling the UpdateItem operation:
ExpressionAttributeValues contains invalid key: Syntax error; key: "var4"
霉菌代码:
dynamodb = boto3.resource('dynamodb')
table = dynamodb.Table('contacts')
table.update_item(
Key={'email': emailID},
UpdateExpression=SET last_name = :var0, address_1_state = :var1, email_2 = :var2, phone = :var3, phone_2 = :var4
ExpressionAttributeValues={
'var0': 'Metzger',
'var1': 'CA',
'var2': 'none',
'var3': '949 302-9072',
'var4': '818-222-2311'
}
)
只需按如下方式更改该部分-
ExpressionAttributeValues={
':var0': 'Metzger',
':var1': 'CA',
':var2': 'none',
':var3': '949 302-9072',
':var4': '818-222-2311'
}
希望代码能够正常工作:)在发布答案后,您是否修改了代码部分?答案代码看起来与问题中给出的代码相同…更改发生在密钥名称中。例如,从“var0”到:var0(添加了两个点)