Skip to content

Latest commit

 

History

History
executable file
·
141 lines (104 loc) · 3 KB

delete-record.md

File metadata and controls

executable file
·
141 lines (104 loc) · 3 KB

删除数据项

操作步骤

1.通过 tableName 实例化一个 Table 对象,操作该对象即相当于操作对应的数据表

Table product = new Table("product");

2.获取指定 recordID 的 Record

Record record = product.fetchWithoutData(recordID)

2.执行删除操作

record.delete()

示例

请求示例

// 删除 tableName 为 'product' 的数据表中 recordID 为 59897882ff650c0477f00485 的数据项
Table product = new Table("product");
Record record = product.fetchWithoutData("59897882ff650c0477f00485");

// 同步版本
try {
    record.delete();
    // 操作成功
} catch (Exception e) {
    // 操作失败
}

// 异步版本
record.deleteInBackground(new Callback<Record>() {
    @Override
    public void onSuccess(@Nullable Record record) {
        // 删除成功
    }
    @Override
    public void onFailure(Exception e) {
        // 删除失败
    }
});

异常请参考异常

常见 HttpException.code :

code 可能的原因
404 数据行不存在
403 没有权限删除数据

批量删除数据项

其中:

请求示例

Table product = new Table("product");

Query query = new Query().offset(0).limit(10);
Where where = new Where();
// 设置查询条件(比较、字符串包含、组合等)
// ...
query.put(where);

// 同步版本
try {
    BatchResult result = product.batchDelete(query);
    // 操作成功
} catch (Exception e) {
    // 操作失败
}

// 异步回调版本
product.batchDeleteInBackground(null, new Callback<BatchResult>() {
    @Override
    public void onSuccess(@Nullable BatchResult batchResult) {
        // 批量删除成功,这里拿到操作结果
    }
    
    @Override
    public void onFailure(Exception e) {
        // 批量删除失败了
    }
});

返回示例

BatchResult 结构如下:

{
  "succeed": 8, // 成功删除记录数
  "total_count": 10, // where 匹配的记录数,包括无权限操作记录
  "offset": 0,
  "limit": 10,
  "next": null // 下一次删除 url,若为 null 则表示全部删除完毕
}

异常请参考异常

常见错误 HttpException.code :

code 可能的原因
404 数据行不存在
403 没有权限删除数据

批量删除时不触发触发器

Table table = new Table("my_horses");

// 知晓云后台设置的触发器将不会被触发
Query query = new Query();
query.enableTrigger(false);


table.batchDeleteInBackground(query, new BaseCallback<BatchResult>() {
    @Override
    public void onSuccess(BatchResult batchResult) {
        // success
    }
    @Override
    public void onFailure(Throwable e) {
        // error
    }
});