Todos os produtos
Search
Central de documentação

Tablestore:Coluna de chave primária com auto-incremento

Última atualização: Sep 18, 2026

Ao definir uma coluna de chave primária que não seja uma partition key como coluna de auto-incremento, não é necessário fornecer um valor para ela ao gravar dados. Tablestore gera automaticamente um valor único e estritamente crescente dentro de cada partition key.

Recursos

Uma coluna de chave primária com auto-incremento tem as seguintes características:

  • Os valores de uma coluna de auto-incremento são únicos e estritamente crescentes dentro de uma partition key, mas não há garantia de que sejam consecutivos.

  • O tipo de dado de uma coluna de auto-incremento é um inteiro com sinal de 64 bits.

  • As colunas de auto-incremento são definidas no nível da tabela de dados. Uma instância pode conter tabelas de dados com e sem colunas de auto-incremento.

Nota

Este recurso não afeta as regras para atualizações condicionais. Para mais informações, consulte Conditional update.

Notas de uso

  • Cada tabela de dados pode ter no máximo uma coluna de chave primária com auto-incremento. Uma partition key não pode ser definida como coluna de auto-incremento.

  • A coluna de auto-incremento só pode ser definida no momento da criação da tabela de dados. Não é possível adicioná-la a uma tabela já existente.

  • Apenas uma coluna de chave primária do tipo inteiro pode ser definida como coluna de auto-incremento. O valor gerado pelo sistema para essa coluna é um inteiro com sinal de 64 bits.

  • Colunas de atributo não podem ser definidas como colunas de auto-incremento.

  • <!--@li {"id="404b0410640xa"}-->

    O recurso de coluna de chave primária com auto-incremento e o recurso de transação local não podem ser usados simultaneamente.

  • Ao gravar dados em uma tabela com coluna de chave primária com auto-incremento, recupere e armazene o valor gerado para essa coluna, pois ele será necessário em atualizações ou leituras posteriores.

Operações de API

Esta tabela descreve as operações de API relacionadas ao recurso de coluna de chave primária com auto-incremento.

API

Descrição

CreateTable

Para usar este recurso, defina uma coluna de chave primária que não seja uma partition key como coluna de auto-incremento ao criar a tabela de dados.

UpdateTable

Após a criação da tabela de dados, não é possível usar a operação de API UpdateTable para redefinir uma coluna de chave primária como coluna de auto-incremento.

PutRow

Ao gravar dados, não é necessário especificar um valor para a coluna de auto-incremento, pois o Tablestore gera um automaticamente.

Para obter a chave primária completa, defina o parâmetro ReturnType como RT_PK. Em seguida, use a chave primária para consultar dados por meio da operação de API GetRow.

Importante

Se precisar atualize uma linha, mas não tiver armazenado o valor da chave primária com auto-incremento, use primeiro a operação de API GetRange para recuperar a chave primária completa antes de realizar a atualização.

UpdateRow

BatchWriteRow

GetRow

A operação de API GetRow requer uma chave primária completa. Obtenha a chave primária completa definindo o parâmetro ReturnType como RT_PK na requisição PutRow, UpdateRow ou BatchWriteRow.

Importante

Caso o valor da coluna de chave primária com auto-incremento não tenha sido armazenado durante a gravação, ainda é possível ler um intervalo de dados com base na primeira coluna de chave primária. Para mais informações, consulte Read a range of data.

BatchGetRow

Como usar

Console

  1. Crie uma tabela de dados com uma coluna de chave primária com auto-incremento.

    1. Faça login no Tablestore console.

    2. Na página Overview, localize a instância que deseja gerencie e clique em Manage Instance na coluna Actions.

    3. Na aba Instance Details, na seção Tables, clique em Create Table.

    4. Na caixa de diálogo Create Table, configure os campos Table Name e Primary Key. Configure os demais parâmetros conforme as necessidades do seu negócio.

      Ao configure a chave primária, selecione Auto Increment como tipo para a coluna de chave primária que não seja uma partition key.

      Nota

      Para mais informações sobre as configurações de parâmetros, consulte Data table operations.

    5. Clique em Create.

  2. Grave dados na tabela.

    1. Na aba Instance Details, na seção Tables, clique em no nome da tabela de dados.

    2. Na aba Query Data, clique em Insert.

    3. Na caixa de diálogo Insert, insira os valores da chave primária e adicione colunas de atributo conforme necessário.

      Não é necessário insira um valor para a coluna de auto-incremento. O sistema gera o valor automaticamente quando os dados são gravados. Para adicionar várias colunas de atributo, clique em repetidamente no ícone image e configure o nome, o tipo e o valor de cada uma.

    4. Clique em OK.

      O sistema exibe os dados gravados com sucesso. Registre a chave primária completa da linha para uso em atualizações ou leituras posteriores.

CLI

  1. Crie e use uma tabela de dados com uma coluna de chave primária com auto-incremento.

    1. Execute o comando create para crie uma tabela de dados. Para mais informações, consulte Create a table.

      O exemplo a seguir crie uma tabela de dados chamada mytable. Essa tabela possui duas colunas de chave primária: uid (string) e pid (integer), em que pid é a coluna de auto-incremento. Os dados desta tabela nunca expiram.

      create -t mytable --pk '[{"c":"uid", "t":"string"}, {"c":"pid", "t":"integer", "opt":"auto"}]'
    2. Execute o comando use --wc -t mytable para usar a tabela de dados.

  2. Execute o comando put para gravar uma linha. Para mais informações, consulte Insert new data.

    Nota

    Após gravar os dados, execute o comando scan para recuperar uma linha e obter sua chave primária completa. Para mais informações, consulte Scan data ou Export data.

    O exemplo a seguir insira uma linha em que o valor da primeira coluna de chave primária é "86" e a coluna de auto-incremento é defina como null. A linha também inclui duas colunas de atributo: name (string) e country (string).

    put --pk '["86", null]' --attr '[{"c":"name", "v":"redchen"}, {"c":"country", "v":"china"}]'

SDKs

Este recurso está disponível nos SDKs Java, Go, Python, Node.js, .NET e PHP. Esta seção apresenta um exemplo usando o Java SDK.

O exemplo a seguir grava uma linha na tabela example_table e recupera o valor gerado para a coluna incr a partir da resposta.

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);

Faturamento

Este recurso não afeta as regras de faturamento existentes. O retorno dos dados da chave primária não consome unidades de capacidade de leitura adicionais.