dynobase-icon
Dynobase

Error: DynamoDB table not updating

Rafal Wilinski

Answered by Rafal Wilinski

Last updated: October 23rd, 2026

Solution

If an item appears unchanged, first distinguish a rejected update from a successful update read through a stale view. Await the SDK call and request ReturnValues: "ALL_NEW" to inspect the item returned by UpdateItem.

import { DynamoDBClient } from "@aws-sdk/client-dynamodb";
import { DynamoDBDocumentClient, UpdateCommand } from "@aws-sdk/lib-dynamodb";
const db = DynamoDBDocumentClient.from(new DynamoDBClient({ region: "us-east-1" }));
const result = await db.send(new UpdateCommand({
  TableName: "Orders",
  Key: { pk: "ORDER#123", sk: "DETAIL" },
  UpdateExpression: "SET #status = :status",
  ConditionExpression: "attribute_exists(pk)",
  ExpressionAttributeNames: { "#status": "status" },
  ExpressionAttributeValues: { ":status": "SHIPPED" },
  ReturnValues: "ALL_NEW"
}));
console.log(result.Attributes);

For validation or condition errors, inspect the expression, bound types, and current item. For AccessDeniedException, check dynamodb:UpdateItem, not dynamodb:UpdateTable. For throttling, inspect the named table or index bottleneck.

If the write succeeds, check the same base-table key with a strong read. A GSI, cache, or unrefreshed console can show older data. Concurrent writers can also overwrite the field. UpdateItem creates an absent item unless a condition prevents it; UpdateTable changes table settings, not item attributes.

See item updates and AWS documentation.

Dynobase is a Professional GUI Client for DynamoDB

Start your 7-day free trial today

Product Features

Download
/
Pricing
/
Member Portal
/
Privacy
/
EULA
/
Twitter
© 2026 Dynobase
+
Still using AWS DynamoDB Console?
Try Dynobase to accelerate your DynamoDB workflow. Start your 7-day free trial today.