- 1.3 SDS服务简介
- 1.3.1 帐号注册
- 1.3.2 数据模型
- 1.3.3 二级索引
- 1.3.4 支持的操作
- 1.3.5 配额说明
- 1.3.6 计量计费
- 1.3.7 AutoScaling
- 1.3.8 Stream
- 1.3.9 Recovery
- 1.3.10 冷备
- 1.3.11 权限模型
- 1.3.12 集群信息
- 1.3.13 Client配置
- 1.3.14 多语言SDK
- 1.3.15 离线分析
- 1.3.16 监控统计
- 1.3.17 数据加密
- 1.3.18 示例
- 1.4 API
- 1.4.1 创建表
- 1.4.2 修改表
- 1.4.3 克隆表
- 1.4.4 禁用表
- 1.4.5 启用表
- 1.4.6 删除表
- 1.4.7 描述表
- 1.4.8 获得表的状态
- 1.4.9 列出所有表
- 1.5 API
- 1.5.1 写记录
- 1.5.2 读记录
- 1.5.3 删除记录
- 1.5.4 自增操作
- 1.5.5 批量操作
- 1.5.6 带条件的批量写操作
- 1.5.7 允许部分执行的批量操作
- 1.5.8 扫描记录
- 1.5.9 事务操作
- 1.6 FAQ
- 1.6.1 认证授权
- 1.6.2 数据模型
- 1.6.3 旧版帐号迁移到新版
- 1.6.4 RESOURCE_NOT_FOUND异常
- 1.6.5 常见错误
1.5.3 删除记录
RemoveResult remove(RemoveRequest request)
功能
删除某个表的一条记录,可以删除全部或者部分属性,也可以指定条件,当条件成立时才删除成功
消耗一个单位写配额,如果带了条件,还消耗一个单位读配额(另外如果创建了EAGER类型的二级索引,每个Eager二级索引需要1个额外读配额)
方法参数
request : RemoveRequest : required
RemoveRequest包括以下部分
1.tableName : String : required
指定要删除哪一张表的记录
2.keys : Map< String, Datum > : required
指定要删除哪一行,即那行的实体组键(若存在)和主键的属性值,keys必须包含所有的实体组键(若存在)和主键的属性
3.attributes : List< String > : optional
待删除的属性列表,不指定表示删除整条记录, 当删除部分属性时,即使所有属性均已被删除,记录仍存在,删除整条记录需要显式删除
4.condition : SimpleCondition : optional
指定删除成功的条件,即条件成立时才能删除成功,是原子的check and set语义
其条件可以包括:指定该行的某一个属性大于、大于或等于、等于、小于或等于、小于某个值,或者是该行是否已存在
方法返回值
removeResult : RemoveResult
removeResult 只有success一个boolean值,表示删除成功与否
若调用超时,不能确定记录是否被删除
异常错误码
INTERNAL_ERROR(1) : 服务器异常
ACCESS_DENIED(4) : 用户对该表没有写权限
VALIDATION_FAILED(5): keys没有完全包含实体组键(若存在)和主键的属性,或者指定的属性不存在,或者condition中指定的列不存在
THROUGHPUT_EXCEED(8): 当前读写速度已超过该表的读写配额
RESOURCE_NOT_FOUND(9) : 所指定的表不存在
限制
keys必须包含实体组键(若存在)和主键的属性
示例
以示例表为例,下面给出删除数据的示例代码
$tableName = 'php-note';
$remove = new RemoveRequest(array(
"tableName" => $tableName,
"keys" => array(
"userId" => DatumUtil::datum("user1"),
"noteId" => DatumUtil::datum(0),
)
));
$tableClient->remove($remove);
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论