全部產品
Search
文件中心

Tablestore:主鍵列自增

更新時間:Aug 05, 2026

使用 Python SDK 設定主鍵列自增,並在寫入資料時擷取系統產生的自增值。

前提條件

安裝Tablestore Python SDK並初始化用戶端。主鍵列自增需要 4.0.0 及以上版本,建議使用最新版本。

功能說明

自增主鍵列由 Tablestore 自動產生 64 位元有符號整數值。產生的值在同一分區鍵內唯一且嚴格遞增,但不保證連續。

設定主鍵列自增

建立資料表時,將一個非分區鍵的 INTEGER 類型主鍵列設定為 PK_AUTO_INCR。每張資料表最多設定一個自增主鍵列;已建立的資料表無法再設定。

以下樣本建立包含分區鍵 id 和自增主鍵列 sequence_idexample_table

table_meta = TableMeta(
    "example_table",
    [
        ("id", "STRING"),
        ("sequence_id", "INTEGER", PK_AUTO_INCR),
    ],
)
table_options = TableOptions()
reserved_throughput = ReservedThroughput(CapacityUnit(0, 0))

client.create_table(table_meta, table_options, reserved_throughput)

寫入資料並擷取自增值

寫入資料時,將自增主鍵列的值設定為 PK_AUTO_INCR。如需在後續查詢或更新中使用系統產生的值,將 return_type 設定為 ReturnType.RT_PK

primary_key = [
    ("id", "device-001"),
    ("sequence_id", PK_AUTO_INCR),
]
attribute_columns = [("status", "online")]
row = Row(primary_key, attribute_columns)

_, return_row = client.put_row(
    "example_table",
    row,
    return_type=ReturnType.RT_PK,
)

print(return_row.primary_key)

參數說明

自增主鍵列配置

schema_of_primary_key[] 中用於配置自增主鍵列的元組包含以下元素。

名稱

類型

說明

name(必選)

str

主鍵列名稱。

type(必選)

str

主鍵列類型,必須設定為 INTEGER

option(必選)

PrimaryKeyOption

主鍵列選項,必須設定為 PK_AUTO_INCR。自增主鍵列不能作為分區鍵。

寫入參數

put_row 方法包含以下與主鍵列自增相關的參數。

名稱

類型

說明

table_name(必選)

str

資料表名稱。

row(必選)

Row

待寫入的行資料。自增主鍵列的值必須設定為 PK_AUTO_INCR

return_type(可選)

ReturnType

傳回型別。設定為 RT_PK 時返回寫入行的主鍵資訊;不設定時不返回。

傳回值

put_row 方法返回一個元組,包含以下資訊。

欄位

類型

說明

consumed

CapacityUnit

本次操作消耗的讀寫 CU。

return_row

Row

return_type 設定為 RT_PK 時,包含系統產生的完整主鍵;否則為 None