本文介绍如何通过 PHP SDK 更新表格存储数据表中的单行数据,您可以更新属性列的值、添加属性列、删除属性列的某个版本或整个属性列。
前提条件
方法说明
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') );
相关文档
该文章对您有帮助吗?