すべてのプロダクト
Search
ドキュメントセンター

Tablestore:UpdateRow

最終更新日:Apr 30, 2026

UpdateRow 操作は、指定された行のデータを更新します。

説明

指定された行が存在しない場合、新しい行が挿入されます。行が存在する場合は、リクエストに基づき、UpdateRow によって指定された属性列の値が追加、変更、または削除されます。

リクエストメッセージ構造

message UpdateRowRequest {
    required string table_name = 1;
    required bytes row_change = 2;
    required Condition condition = 3;
    optional ReturnContent return_content = 4;
    optional string transaction_id = 5;
}

Name

Type

Required

Description

table_name

string

Yes

更新対象のテーブル名。

row_change

bytes

Yes

PlainBuffer フォーマットでエンコードされた更新データ(プライマリキーおよび属性列を含む)。詳細については、「PlainBuffer」をご参照ください。

Tablestore は、row_change 内の UpdateType に基づき、指定された属性列の値を追加、変更、または削除します。row_change に含まれない属性列は影響を受けません。

UpdateType の有効な値:

  • PUT:値は有効な属性列値である必要があります。列が存在しない場合は、新しい列が作成されます。列が存在する場合は、値が上書きされます。

  • DELETE:値は空である必要があります。特定のバージョンの列を削除するには、タイムスタンプを指定します。

  • DELETE_ALL:値とタイムスタンプの両方が空である必要があります。これにより、列のすべてのバージョンが削除されます。

    説明

    行内のすべての属性列を削除しても、行自体が削除されるわけではありません。行を削除するには、DeleteRow 操作を使用してください。

condition

Condition

Yes

更新前に行の存在をチェックするかどうかを指定します。有効な値:

  • IGNORE (デフォルト):存在チェックをスキップします。行の存在に関係なく、操作は成功します。

  • EXPECT_EXIST:行が存在することを要求します。行が存在しない場合、操作は失敗し、エラーが返されます。

return_content

ReturnContent

No

書き込み成功後に返すデータの種類。現在はプライマリキーのみの返却がサポートされており、主に自動採番主キー列機能で使用されます。

transaction_id

string

No

ローカルトランザクション ID。ローカルトランザクション機能を使用する場合にこのパラメーターを設定します。

レスポンスメッセージ構造

message UpdateRowResponse {
    required ConsumedCapacity consumed = 1;
    optional bytes row = 2;
}

Name

Type

Description

consumed

ConsumedCapacity

操作で消費された容量単位。詳細については、「容量単位の消費」をご参照ください。

row

bytes

return_content が設定されている場合に返されるデータ。return_content が設定されていない、または返す値がない場合は、このパラメーターは NULL になります。

返されたデータは PlainBuffer フォーマットでエンコードされています。PlainBuffer の詳細については、「PlainBuffer」をご参照ください。

SDK の使用

以下のいずれかの言語の SDK を使用して、単一行のデータを更新します。

容量単位の消費

  • 行が存在しない場合、消費される容量単位は条件チェックの設定に依存します。

    • IGNORE:消費される書き込み CU は、プライマリキーのデータサイズと属性列のデータサイズの合計を 4 KB で割り、切り上げた値になります。削除対象の属性列については、列名の長さのみがデータサイズに加算されます。

    • EXPECT_EXIST:操作は失敗し、書き込み CU 1 単位と読み取り CU 1 単位を消費します。

  • 行が存在する場合、消費される容量単位は条件チェックの設定に依存します。

    • IGNORE:消費される書き込み CU は、プライマリキーのデータサイズと属性列のデータサイズの合計を 4 KB で割り、切り上げた値になります。削除対象の属性列については、列名の長さのみがデータサイズに加算されます。

    • EXPECT_EXIST:IGNORE と同じ書き込み CU を消費し、さらに読み取り CU を追加で消費します。消費される読み取り CU は、プライマリキーのデータサイズを 4 KB で割り、切り上げた値になります。

    データサイズの計算方法の詳細については、「料金」をご参照ください。

  • リクエストがタイムアウトし、結果が未定義の場合、CU が消費される場合とされない場合があります。

  • 内部エラーが発生した場合(HTTP ステータスコード:5xx)、容量単位は消費されません。その他のエラーでは、書き込み CU 1 単位と読み取り CU 1 単位が消費されます。