写入单行数据

更新时间:
复制为 MD 格式

本文介绍如何通过 PHP SDK 在表格存储的数据表中写入单行数据。

前提条件

初始化Tablestore Client

方法说明

public function putRow(array $request)

$request参数说明

名称

类型

说明

table_name(必选)

string

数据表名称。

primary_key(必选)

array

主键信息,包括主键列名称和主键值。

  • 主键列数据类型包括 STRING、INTEGER 和 BINARY。

  • 写入数据的主键个数和类型必须与数据表的主键保持一致。

  • 主键列为自增列时,需将该列的值设置为占位符,详情请参见主键列自增

attribute_columns(可选)

array

属性列信息,包括属性列名称、属性列值和数据版本号。

  • 属性列数据类型包括 STRING、INTEGER、BINARY、DOUBLE 和 BOOLEAN。

  • 数据版本号即时间戳,默认由系统自动生成,也可以自己指定,详情请参见数据版本和生命周期

condition(可选)

array

写入条件,详情请参见条件更新

return_content(可选)

array

返回的数据内容。

  • return_type(必选)array:返回类型。

    • ReturnTypeConst::CONST_NONE:默认值,不返回数据。

    • ReturnTypeConst::CONST_PK:返回主键列,可以用于主键列自增。

    • ReturnTypeConst::CONST_AFTER_MODIFY:返回更改后的列值,用于原子计数器

transaction_id(可选)

string

局部事务ID,用于唯一标识局部事务,详情请参见局部事务

示例代码

以下示例代码在 test_table 表中写入一行数据,该行数据的主键值为 row1。

$request = array (
    'table_name' => 'test_table',
    // 构造主键
    'primary_key' => array (
        array('id', 'row1')
    )
);

try{
    // 调用 putRow 方法写入行数据
    $response = $client->putRow($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 "Put Row failed.";
}
  • 添加属性列。

    $request['attribute_columns'] = array(
        array('col1', 'val1')
    );
  • 指定数据版本号,您可以为每个属性列指定单独的版本号。

    $request['attribute_columns'] = array(
        array('col1', 'val1', null, intval(microtime(true) * 1000))
    );

相关文档

批量更新数据