全部产品
Search
文档中心

Tablestore:Konfigurasikan kolom primary key auto-increment

更新时间:Jun 25, 2025

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

Catatan penggunaan

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

Prasyarat

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, konfigurasi ini tidak dapat dilakukan.

Catatan

Hanya kolom primary key dengan tipe data Integer yang dapat dikonfigurasi sebagai kolom primary key auto-increment. Sebuah tabel data hanya dapat memiliki satu kolom primary key auto-increment, dengan nilai yang dihasilkan berupa bilangan bulat bertanda 64-bit.

Contoh kode

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

function createTableSample() {
    var createParams = {
        tableMeta: {
            tableName: 'test_table',
            primaryKey: [
                {
                    name: 'id',
                    type: 'STRING'
                },
                {
                    name: 'incr',
                    type: 'INTEGER',
                    option: 'AUTO_INCREMENT'
                },
            ]
        },
        tableOptions: {
            timeToLive: -1,
            maxVersions: 1
        },
        reservedThroughput: {
            capacityUnit: {
                read: 0,
                write: 0
            }
        },
    };

    client.createTable(createParams, function (err, data) {
        if (err) {
            console.error('error:', err);
            return;
        }
        console.log('success:', data);
    });
}

Tulis data

Saat menulis data ke kolom primary key auto-increment, cukup tetapkan nilai kolom tersebut ke placeholder. Jika Anda ingin mendapatkan nilai yang dihasilkan untuk kolom primary key auto-increment guna melakukan query atau pembaruan data, tetapkan parameter returnType ke Primarykey.

Contoh kode

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

function putRowSample() {
    var putParams = {
        tableName: 'test_table',
        condition: new TableStore.Condition(TableStore.RowExistenceExpectation.IGNORE, null),
        primaryKey: [
            { id: 'row1' },
            // Tetapkan kolom primary key auto-increment ke placeholder.
            { incr: TableStore.PK_AUTO_INCR }
        ],
        attributeColumns: [
            { 'col1': 'val1' }
        ],
        // Tetapkan tipe pengembalian ke Primarykey untuk mengembalikan informasi primary key dari baris data yang ditulis.
        returnContent: { returnType: TableStore.ReturnType.Primarykey }
    };

    client.putRow(putParams, function (err, data) {
        if (err) {
            console.error('error:', err);
            return;
        }

        // RequestId dan CUs yang dikonsumsi
        console.log("RequestId: ", data.RequestId);
        console.log("Biaya CU Baca: ", data.consumed.capacityUnit.read);
        console.log("Biaya CU Tulis: ", data.consumed.capacityUnit.write);

        // Dapatkan dan cetak informasi primary key yang dikembalikan. Jika tipe pengembalian tidak diatur ke Primarykey, informasi primary key tidak akan dikembalikan secara default.
        if (data.row.primaryKey) {
            console.log(JSON.stringify(data.row.primaryKey));
        }
    });
}