全部产品
Search
文档中心

Tablestore:Kolom primary key auto-increment

更新时间:Jun 26, 2025

Topik ini menjelaskan cara mengonfigurasi kolom primary key auto-increment untuk tabel data menggunakan Tablestore SDK for Python. Topik ini juga mencakup cara menulis data ke kolom primary key auto-increment dan mengambil nilai yang dihasilkan.

Catatan penggunaan

  • Tablestore SDK for Python V4.0.0 dan versi lebih baru mendukung fitur kolom primary key auto-increment.

  • Nilai-nilai dari kolom primary key auto-increment bersifat unik dan meningkat secara monoton, tetapi tidak selalu berkelanjutan dalam partisi dengan nilai partition key yang sama.

Prasyarat

Sebuah klien telah diinisialisasi. Untuk informasi lebih lanjut, lihat Inisialisasi Klien Tablestore.

Konfigurasikan kolom primary key auto-increment

Anda dapat menentukan kolom primary key yang bukan partition key sebagai kolom primary key auto-increment saat membuat tabel data. Untuk tabel data yang sudah ada, Anda tidak dapat mengonfigurasi kolom primary key auto-increment.

Catatan

Anda hanya dapat menentukan kolom primary key yang bukan partition key sebagai kolom primary key auto-increment jika tipe datanya adalah Integer. Sebuah tabel data dapat memiliki paling banyak satu kolom primary key auto-increment. Nilai yang dihasilkan untuk kolom primary key auto-increment adalah bilangan bulat panjang bertanda 64-bit.

Contoh kode

Berikut adalah contoh kode untuk membuat tabel data bernama test_table. Primary key tabel mencakup partition key id dan kolom primary key auto-increment incr.

schema_of_primary_key = [('id', 'STRING'), ('incr', 'INTEGER', PK_AUTO_INCR)]
table_meta = TableMeta('test_table', schema_of_primary_key)
table_options = TableOptions()
reserved_throughput = ReservedThroughput(CapacityUnit())
try:
    client.create_table(table_meta, table_options, reserved_throughput)
    print("Pembuatan tabel berhasil.")
except Exception as e:
    print("Pembuatan tabel gagal. %s" % e)

Tulis data

Saat menulis data ke kolom primary key auto-increment, cukup tetapkan nilai kolom tersebut ke placeholder. Jika ingin memperoleh nilai yang dihasilkan untuk kolom primary key auto-increment guna melakukan query dan pembaruan data, Anda juga perlu menetapkan tipe balikan put_row ke RT_PK.

Contoh kode

Berikut adalah contoh kode yang menulis baris data ke tabel test_table, serta memperoleh dan mencetak informasi primary key dari baris data yang ditulis.

# Konstruksi primary key.
primary_key = [('id', 'row1'), ('incr', PK_AUTO_INCR)]

# Konstruksi data baris untuk ditulis.
attribute_columns = [('col1', 'val1')]
row = Row(primary_key, attribute_columns)

try:
    # Panggil metode putRow untuk menulis data baris, dan tetapkan tipe balikan ke RT_PK (kembalikan informasi primary key dari data baris yang ditulis).
    consumed, return_row = client.put_row('test_table', row, return_type=ReturnType.RT_PK)

    # Konsumsi CU baca dan tulis
    print('Biaya CU Baca: %s' % consumed.read)
    print('Biaya CU Tulis: %s' % consumed.write)

    # Peroleh dan cetak informasi primary key yang dikembalikan. Jika tipe balikan tidak disetel ke RT_PK, informasi primary key tidak dikembalikan secara default.
    if return_row is not None:
        print('Primary key: %s' % return_row.primary_key)
except Exception as e:
    print("Penulisan gagal. %s" % e)