我正在尝试更新 DynamoDb 表中的值 1 和值 2 项目属性,但只设置一个参数 (value1)。尝试同时包含值 1 和值 2 () 会导致:UpdateExpressionaws.String("set value1= :r, set value2= :c")Got error calling UpdateItem: %sValidationException: Invalid UpdateExpression: Syntax error; token: "set", near: ", set HashValue" status code: 400, request id:******如何更新数据库项中的多个字段?--func UpdateObject(obj MyObject) (string, error) {sess := session.Must(session.NewSessionWithOptions(session.Options{ SharedConfigState: session.SharedConfigEnable,}))// Create DynamoDB clientsvc := dynamodb.New(sess)// Update item in table MoviestableName := "MyTable"input := &dynamodb.UpdateItemInput{ ExpressionAttributeValues: map[string]*dynamodb.AttributeValue{ ":r": { N: aws.String(strconv.Itoa(obj.value1)), }, ":c": { S: aws.String(obj.value2), }, }, TableName: aws.String(tableName), Key: map[string]*dynamodb.AttributeValue{ "ThreatID": { N: aws.String(strconv.Itoa(obj.value3)), }, "ThreatName": { S: aws.String(obj.value4), }, }, ReturnValues: aws.String("UPDATED_NEW"), UpdateExpression: aws.String("set value1= :r"),} //........}-- type MyObject struct { value3 int value4 string value2 string value1 int }
1 回答

有只小跳蛙
TA贡献1824条经验 获得超8个赞
使用以下语法:
aws.String("set value1= :r, value2= :c")
参考资料: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.UpdateExpressions.html
- 1 回答
- 0 关注
- 136 浏览
添加回答
举报
0/150
提交
取消