You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

DynamoDB删除操作报错:Where子句未包含所有键属性的强制相等条件

解决DynamoDB DELETE语句报错:Where clause does not contain a mandatory equality on all key attributes

问题原因

DynamoDB对DELETE操作有强制要求:WHERE子句必须包含所有主键属性的等值匹配条件。如果你的表是复合主键(分区键+排序键)结构,仅指定分区键(比如你的userId)是不够的,必须同时提供排序键的等值条件。

解决方案

  1. 确认表的主键结构
    查看你的DynamoDB表的键架构,明确分区键和排序键的具体字段名(比如可能存在orderId、recordTime这类排序键)。

  2. 修改DELETE语句
    将所有主键字段添加到WHERE子句中,用=做等值匹配。示例如下:
    假设表的排序键为orderId,修正后的语句:

    DELETE FROM "someTableNAme" WHERE "userId" = 'someid' AND "orderId" = 'your-order-id'
    

注意事项

  • 所有主键属性必须使用等值条件(=),不支持范围查询(如>、<)
  • 表名和字段名的引号、大小写要与表定义完全一致,避免匹配失败

内容的提问来源于stack exchange,提问作者Umer Farooq

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.24 20:18:20