[英]UpdateItem Dynamodb Boto3 Says Wrong Query
我正在嘗試增加特定列的值。 我正在使用 Boto3。
update_query = '#clicks.#OS.#os = #clicks.#OS.#os + :inc, #clicks.#Brands.#brand = #clicks.#Brands.#brand + :inc, #clicks.#RAMs.#ram = #clicks.#RAMs.#ram + :inc'
table_urls.update_item(
Key={
'urlid': urlid
},
UpdateExpression=update_query,
ExpressionAttributeValues={
':inc' : Decimal(1)
},
ExpressionAttributeNames={
"#os" : os,
"#brand": brand,
"#ram" : ram,
"#clicks": "clicks",
"#OS" : "OS",
"#Brands": "Brands",
"#RAMs" : "RAMs"
},
ReturnValues='NONE'
)
這是錯誤堆棧跟蹤:錯誤:
An error occurred (ValidationException) when calling the UpdateItem operation: Invalid UpdateExpression: Syntax error; token: "#clicks", near: "#clicks."
QUERY::>> #clicks.#OS.#os = #clicks.#OS.#os + :inc, #clicks.#Brands.#brand = #clicks.#Brands.#brand + :inc, #clicks.#RAMs.#ram = #clicks.#RAMs.#ram + :inc
嘗試在 update_query 字符串的開頭添加SET
。 一切 rest 似乎都是正確的。
update_query = 'SET #clicks.#OS.#os = #clicks.#OS.#os + :inc, #clicks.#Brands.#brand = #clicks.#Brands.#brand + :inc, #clicks.#RAMs.#ram = #clicks.#RAMs.#ram + :inc'
table_urls.update_item(
Key={
'urlid': urlid
},
UpdateExpression=update_query,
ExpressionAttributeValues={
':inc' : Decimal(1)
},
ExpressionAttributeNames={
"#os" : os,
"#brand": brand,
"#ram" : ram,
"#clicks": "clicks",
"#OS" : "OS",
"#Brands": "Brands",
"#RAMs" : "RAMs"
},
ReturnValues='NONE'
)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.