全部產品
Search
文件中心

Tablestore:更新單行資料

更新時間:Mar 12, 2026

本文介紹如何通過 Node.js SDK 更新Table Store資料表中的單行資料,您可以更新屬性列的值、添加屬性列、刪除屬性列的某個版本或整個屬性列。

前提條件

初始化Tablestore Client

方法說明

updateRow: function updateRow(params, callback)

params參數說明

名稱

類型

說明

tableName(必選)

string

資料表名稱。

primaryKey(必選)

Array

主鍵資訊,包括主鍵列名稱和主索引值。

  • 主鍵列資料類型包括 STRING、INTEGER 和 BINARY。

  • 主鍵個數和類型必須與資料表的主鍵保持一致。

updateOfAttributeColumns(必選)

Array

更新的屬性列資訊和操作類型。

condition(必選)

TableStore.Condition

更新條件,詳情請參見條件更新

returnContent(可選)

object

返回的資料內容。

  • returnType(可選)number:傳回型別。

    • TableStore.ReturnType.NONE:預設值,不返回資料。

    • TableStore.ReturnType.Primarykey:返回主鍵列。

    • TableStore.ReturnType.AfterModify:返回更改後的列值,用於原子計數器

transactionId(可選)

string

局部事務ID,用於唯一標識局部事務,詳情請參見局部事務

範例程式碼

以下範例程式碼用於修改 test_table 表中主索引值為 row1 的行資料,將屬性列 col1 的值修改為 changed_val1。

var params = {
    tableName: 'test_table',
    primaryKey: [{ 'id': 'row1' }],
    // 更新行資料時必須指定更新條件 (TableStore.RowExistenceExpectation.IGNORE,表示不做行存在性判斷)
    condition: new TableStore.Condition(TableStore.RowExistenceExpectation.IGNORE, null)
};
params.updateOfAttributeColumns = [
    { 'PUT': [{ 'col1': 'changed_val1' }] }
]

client.updateRow(params, function (err, data) {
    if (err) {
        console.log('Update row failed with error:', err);
        return;
    }
    console.log('RequestId: ', data.RequestId);
    console.log('Read CU Cost: ', data.consumed.capacityUnit.read);
    console.log('Write CU Cost: ', data.consumed.capacityUnit.write);
});

您也可以參照範例程式碼進行以下行資料操作。

  • 添加一個屬性列。

    params.updateOfAttributeColumns = [
        { 'PUT': [{ 'col2': 'val2' }] }
    ]
  • 設定屬性列資料版本號碼。

    params.updateOfAttributeColumns = [
        { 'PUT': [{ 'col2': 'val2', 'timestamp': Date.now() }] }
    ]
  • 刪除屬性列指定版本的資料。

    params.updateOfAttributeColumns = [
        { 'DELETE': [{ 'col2': TableStore.Long.fromNumber(1496826473186) }] },
    ]
  • 刪除整個屬性列資料。

    params.updateOfAttributeColumns = [
        { 'DELETE_ALL': ['col2'] }
    ]

相關文檔

批次更新資料