本文介紹如何通過 PHP SDK 更新Table Store資料表中的單行資料,您可以更新屬性列的值、添加屬性列、刪除屬性列的某個版本或整個屬性列。
前提條件
方法說明
public function updateRow(array $request)範例程式碼
以下範例程式碼用於修改 test_table 表中主索引值為 row1 的行資料,將屬性列 col1 的值修改為 changed_val1。
$request = array(
'table_name' => 'test_table',
// 構造主鍵
'primary_key' => array(
array('id', 'row1')
),
// 更新行資料時必須指定更新條件 (RowExistenceExpectationConst::CONST_IGNORE,表示不做行存在性判斷)
'condition' => RowExistenceExpectationConst::CONST_IGNORE
);
// 更新的屬性列
$request['update_of_attribute_columns'] = array(
'PUT' => array(
array('col1', 'changed_val1')
)
);
try {
// 調用 updateRow 方法更新行資料
$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') );