全部产品
Search
文档中心

表格存储:更新单行数据

更新时间:May 11, 2026

本文介绍如何通过 .NET SDK 更新表格存储数据表中的单行数据,您可以更新属性列的值、添加属性列、删除属性列的某个版本或整个属性列。

前提条件

初始化Tablestore Client

方法说明

public UpdateRowResponse UpdateRow(UpdateRowRequest request)

异步方法:

public Task<UpdateRowResponse> UpdateRowAsync(UpdateRowRequest request)

UpdateRowRequest参数说明

名称

类型

说明

tableName(必选)

string

数据表名称。

primaryKey(必选)

PrimaryKey

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

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

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

updateOfAttribute(必选)

UpdateOfAttribute

更新的属性列信息和操作类型。

condition(必选)

Condition

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

示例代码

以下示例代码用于修改 test_table 表中主键值为 row1 的行数据,将属性列 col1 的值修改为 changed_val1。

try
{
    // 构造主键
    PrimaryKey primaryKey = new PrimaryKey
    {
        { "id", new ColumnValue("row1") }
    };
    // 更新的属性列
    UpdateOfAttribute updateOfAttribute = new UpdateOfAttribute();
    updateOfAttribute.AddAttributeColumnToPut("col1", new ColumnValue("changed_val1"));
    // 更新行数据时必须指定更新条件 (RowExistenceExpectation.IGNORE,表示不做行存在性判断)
    Condition condition = new Condition(RowExistenceExpectation.IGNORE);

    // 调用 UpdateRow 方法更新行数据
    UpdateRowRequest updateRowRequest = new UpdateRowRequest("test_table", condition, primaryKey, updateOfAttribute);
    UpdateRowResponse updateRowResponse = client.UpdateRow(updateRowRequest);
    Console.WriteLine($"RequestId: {updateRowResponse.RequestID}");
    Console.WriteLine($"Read CU Cost: {updateRowResponse.ConsumedCapacityUnit.Read}");
    Console.WriteLine($"Write CU Cost: {updateRowResponse.ConsumedCapacityUnit.Write}");
}
catch (Exception ex)
{
    Console.WriteLine($"Update row failed, exception: {ex.Message}");
}

您也可以参照示例代码进行以下行数据操作。

  • 添加一个属性列。

    updateOfAttribute.AddAttributeColumnToPut("col2", new ColumnValue("val2"));
  • 删除整个属性列数据。

    updateOfAttribute.AddAttributeColumnToDelete("col2");

相关文档