PHP SDK を使用して、Tablestore テーブル内の属性列の値を更新したり、属性列を追加したり、属性列の特定のバージョンを削除したり、属性列全体を削除したりします。
事前準備
メソッド
public function updateRow(array $request)
例
次の例では、test_table テーブル内のプライマリキー値 row1 を持つ行を更新します。属性列 col1 は changed_val1 に設定されます。
$request = array(
'table_name' => 'test_table',
// Build the primary key
'primary_key' => array(
array('id', 'row1')
),
// Specify the update condition when updating a row.
// RowExistenceExpectationConst::CONST_IGNORE means skip row existence checking.
'condition' => RowExistenceExpectationConst::CONST_IGNORE
);
// Attribute columns to update
$request['update_of_attribute_columns'] = array(
'PUT' => array(
array('col1', 'changed_val1')
)
);
try {
// Call the updateRow method to update the row
$response = $client->updateRow($request);
echo "* Read CU Cost: " . $response['consumed']['capacity_unit']['read'] . "\n";
echo "* Write CU Cost: " . $response['consumed']['capacity_unit']['write'] . "\n";
} catch (Exception $e) {
echo "Update Row failed.";
}
他の行の更新操作を実行するには、次のコードスニペットを使用します。
-
属性列の追加。
$request['update_of_attribute_columns'] = array( 'PUT' => array( array('col2', 'val2') ) ); -
属性列のバージョン番号の設定。
$request['update_of_attribute_columns'] = array( 'PUT' => array( array('col2', 'val2', null, intval(microtime(true) * 1000)) ) ); -
属性列の特定のバージョンの削除。
$request['update_of_attribute_columns'] = array( 'DELETE' => array( array('col2', 1754285998447) ) ); -
属性列内のすべてのデータの削除。
$request['update_of_attribute_columns'] = array( 'DELETE_ALL' => array('col2') );