Tüm Ürünler
Search
Belge Merkezi

Tablestore:Use auto-increment primary key columns

Son Güncelleme:Oct 02, 2026

Tablestore SDK for Java kullanarak bir tablo oluştururken bölümleme olmayan bir birincil anahtar sütununu otomatik artan olarak yapılandırın ve veri yazarken oluşturulan değeri alın.

Ön koşullar

Tablestore SDK for Java öğesini yükleyin ve istemciyi başlatın. Otomatik artan birincil anahtar sütunları için 4.2.0 veya üzeri bir sürüm gerekir. En son sürümü kullanmanızı öneririz.

İşlev açıklaması

Otomatik artan birincil anahtar sütunlarının kullanımı üç adımdan oluşur: sütunu yapılandırma, veri yazarken yer tutucu kullanma ve oluşturulan değeri alma.

Not

Otomatik artan birincil anahtar sütunu, INTEGER türünde bir bölümleme anahtarı olmayan sütun olmalı ve tablo oluşturulurken yapılandırılmalıdır. Her tablo yalnızca bir otomatik artan birincil anahtar sütunu içerebilir. Tablestore, bu sütun için 64 bitlik işaretli tamsayılar oluşturur.

Oluşturulan değerler benzersizdir ve aynı bölümleme anahtarı içinde kesinlikle artar ancak ardışık olmak zorunda değildir.

Otomatik artan birincil anahtar sütunu yapılandırma

Tabloyu oluştururken bölümleme olmayan birincil anahtar sütununun option parametresini PrimaryKeyOption.AUTO_INCREMENT olarak ayarlayın.

Aşağıdaki örnek, example_table tablosunu oluşturur. Tablo, bölümleme anahtarı olarak id ve otomatik artan birincil anahtar sütunu olarak incr kullanır.

Not

Veri yazmadan önce tablonun yüklenmesini bekleyin.

String tableName = "example_table";

TableMeta tableMeta = new TableMeta(tableName);
tableMeta.addPrimaryKeyColumn(new PrimaryKeySchema("id", PrimaryKeyType.STRING));
tableMeta.addPrimaryKeyColumn(new PrimaryKeySchema(
        "incr", PrimaryKeyType.INTEGER, PrimaryKeyOption.AUTO_INCREMENT));

TableOptions tableOptions = new TableOptions(-1, 1);
CreateTableRequest request = new CreateTableRequest(tableMeta, tableOptions);
client.createTable(request);

Veri yazma ve oluşturulan değeri alma

Veri yazarken otomatik artan sütun değerini PrimaryKeyValue.AUTO_INCREMENT olarak ayarlayın. Oluşturulan değeri almak için dönüş türünü ReturnType.RT_PK olarak belirleyin. Aksi takdirde yanıt birincil anahtar bilgilerini içermez.

Aşağıdaki örnek, example_table tablosuna bir satır yazar ve yanıtta incr sütunu için oluşturulan değeri alır.

PrimaryKeyBuilder primaryKeyBuilder = PrimaryKeyBuilder.createPrimaryKeyBuilder();
primaryKeyBuilder.addPrimaryKeyColumn("id", PrimaryKeyValue.fromString("partition-a"));
primaryKeyBuilder.addPrimaryKeyColumn("incr", PrimaryKeyValue.AUTO_INCREMENT);
PrimaryKey primaryKey = primaryKeyBuilder.build();

RowPutChange rowPutChange = new RowPutChange("example_table", primaryKey);
rowPutChange.addColumn("payload", ColumnValue.fromString("example-value"));
rowPutChange.setReturnType(ReturnType.RT_PK);

PutRowResponse response = client.putRow(new PutRowRequest(rowPutChange));
long generatedValue = response.getRow().getPrimaryKey()
        .getPrimaryKeyColumn("incr").getValue().asLong();
System.out.println("Generated value: " + generatedValue);

Parametreler

Otomatik artan birincil anahtar sütunu

PrimaryKeySchema nesnesi, otomatik artan birincil anahtar sütunuyla ilgili aşağıdaki parametreleri içerir.


Ad


Tür


Açıklama


name (gerekli)


String


Otomatik artan birincil anahtar sütununun adı.


type (gerekli)


PrimaryKeyType


Otomatik artan birincil anahtar sütununun veri türü. Bu parametreyi INTEGER olarak ayarlayın.


option (gerekli)


PrimaryKeyOption


Birincil anahtar sütunu yapılandırması. Bu parametreyi AUTO_INCREMENT olarak ayarlayın.

Yazma yapılandırmaları

RowPutChange nesnesi, otomatik artan birincil anahtar sütunuyla ilgili aşağıdaki parametreleri içerir.


Ad


Tür


Açıklama


primaryKey (gerekli)


PrimaryKey


Satırın birincil anahtarı. Sütun adları, sırası ve türleri tablo şemasıyla eşleşmelidir. Otomatik artan sütun değerini PrimaryKeyValue.AUTO_INCREMENT olarak ayarlayın.


returnType (isteğe bağlı)


ReturnType


Dönüş türü. Varsayılan değer, birincil anahtar bilgilerini döndürmeyen RT_NONE değeridir. Oluşturulan değer dahil tam birincil anahtarı döndürmek için bu parametreyi RT_PK olarak ayarlayın.

Yanıt

Aşağıdaki PutRowResponse alanı, oluşturulan otomatik artan değeri içerir.


Alan


Tür


Açıklama


row


Row


Yazılan satırın birincil anahtarını almak için getRow() yöntemini çağırın. Bu alan yalnızca returnType parametresi RT_PK olarak ayarlandığında döndürülür ve oluşturulan otomatik artan değeri içerir.