删除单行数据

更新时间:
复制为 MD 格式

本文介绍如何使用 Go SDK 删除表格存储数据表的单行数据。

前提条件

初始化Tablestore Client

方法说明

func (tableStoreClient *TableStoreClient) DeleteRow(request *DeleteRowRequest) (*DeleteRowResponse, error)

DeleteRowRequest参数说明

  • DeleteRowChange(必选)*DeleteRowChange:删除的行数据信息,包含以下参数。

    名称

    类型

    说明

    TableName(必选)

    string

    数据表名称。

    PrimaryKey(必选)

    *PrimaryKey

    主键信息,包括主键列名称和主键值。

    • 主键列数据类型包括 STRING、INTEGER 和 BINARY。

    • 主键个数和类型必须与数据表的主键保持一致。

    Condition(必选)

    *RowCondition

    删除条件,详情请参见条件更新

    TransactionId(可选)

    *string

    局部事务ID,用于唯一标识局部事务,详情请参见局部事务

示例代码

以下示例代码用于删除 test_table 表中主键值为 row1 的行数据。

func DeleteRowSample(client *tablestore.TableStoreClient) {
    // 构造主键
    deletePk := new(tablestore.PrimaryKey)
    deletePk.AddPrimaryKeyColumn("id", "row1")

    // 构造删除的行数据
    deleteRowChange := new(tablestore.DeleteRowChange)
    deleteRowChange.TableName = "test_table"
    deleteRowChange.PrimaryKey = deletePk 
    // 删除行数据时必须配置删除条件 (RowExistenceExpectation_IGNORE,表示不做行存在性判断)
    deleteRowChange.SetCondition(tablestore.RowExistenceExpectation_IGNORE)

    // 调用 DeleteRow 方法删除行数据
    deleteRowReq := new(tablestore.DeleteRowRequest)
    deleteRowReq.DeleteRowChange = deleteRowChange
    response, err := client.DeleteRow(deleteRowReq)
    if err != nil {
        fmt.Println("Delete row failed with error: ", err)
    } else {
        fmt.Printf("RequestId: %s \n", response.RequestId)
        fmt.Printf("Read CU Cost: %d \n", response.ConsumedCapacityUnit.Read)
        fmt.Printf("Write CU Cost: %d \n", response.ConsumedCapacityUnit.Write)
    }
}

相关文档

批量更新数据