1.5.4 自增操作

优质
小牛编辑
129浏览
2023-12-01

IncrementResult increment(IncrementRequest request)

功能

对某个表的某行记录的整型属性做原子性的自增操作

需要消耗读写配额各一个单位

方法参数

request : IncrementRequest : required

IncrementRequest包括以下部分

1.tableName : String : required

指定操作的表

2.keys : Map< String, Datum > : required

指定要操作哪一行,即那行的实体组键(若存在)和主键的属性值,keys必须包含所有的实体组键(若存在)和主键的属性

3.amounts : Map< String, Datum > : required

需要进行自增操作的属性,必须为整型,且不能为索引属性

方法返回值

incrementResult : IncrementResult

IncrementResult 包含一个 amounts : Map< String, Datum >, 为指定的属性自增后的值

若调用超时,不能确定记录是否自增成功

异常错误码

INTERNAL_ERROR(1) : 服务器异常

ACCESS_DENIED(4) : 用户对该表没有读写权限

VALIDATION_FAILED(5): keys没有完全包含实体组键(若存在)和主键的属性,或者amounts指定的属性不存在或不是整型,

THROUGHPUT_EXCEED(8): 当前读写速度已超过该表的读写配额

RESOURCE_NOT_FOUND(9) : 所指定的表不存在

限制

keys必须包含实体组键(若存在)和主键的属性

amounts指定的属性必须为整型,且不能为索引属性

示例

以示例表为例,下面给出自增操作的示例代码

$tableName = 'php-note';
$increment = new IncrementRequest(array(
   "tableName" => $tableName,
    "keys" => array(
        "userId" => DatumUtil::datum("user1"),
        "noteId" => DatumUtil::datum(0),
    ),
    "amounts" => array(
        "version" => DatumUtil::datum(1),
    )
));
//将某行的版本号加1
$tableClient->increment($increment);