Todos los productos
Search
Centro de documentos

Tablestore:Update a row

Última actualización: Sep 03, 2026

Utilice Tablestore SDK for Java para agregar, modificar o eliminar columnas de atributos en una fila identificada por su clave primaria completa.

Requisitos previos

Instale Tablestore SDK for Java e inicialice el cliente.

Descripción

Llame a updateRow para actualizar una fila identificada por su clave primaria completa. Puede agregar o modificar columnas de atributos, eliminar una versión específica o todas las versiones de una columna, y utilizar contadores atómicos.

public UpdateRowResponse updateRow(UpdateRowRequest updateRowRequest) throws TableStoreException, ClientException

El siguiente ejemplo actualiza la fila row1 en la tabla de datos update_row_demo y establece la columna de atributo col1 en changed_val1.

String tableName = "update_row_demo";

PrimaryKeyBuilder primaryKeyBuilder = PrimaryKeyBuilder.createPrimaryKeyBuilder();
primaryKeyBuilder.addPrimaryKeyColumn("id", PrimaryKeyValue.fromString("row1"));
PrimaryKey primaryKey = primaryKeyBuilder.build();

RowUpdateChange rowUpdateChange = new RowUpdateChange(tableName, primaryKey);
rowUpdateChange.put("col1", ColumnValue.fromString("changed_val1"));

client.updateRow(new UpdateRowRequest(rowUpdateChange));

Parámetros

UpdateRowRequest contiene los siguientes parámetros.

Nombre

Tipo

Descripción

rowChange (obligatorio)

RowUpdateChange

La configuración para actualizar una fila.

transactionId (opcional)

String

El ID de transacción local. Establezca este parámetro solo cuando actualice datos en una transacción local.

Para obtener información sobre cómo obtener y usar el ID, consulte Use local transactions.

Cambio de fila

rowChange es del tipo RowUpdateChange y contiene los siguientes parámetros.

Nombre

Tipo

Descripción

tableName (obligatorio)

String

El nombre de la tabla.

primaryKey (obligatorio)

PrimaryKey

La clave primaria de la fila. Especifique todas las columnas de clave primaria en el mismo orden y con los mismos tipos que el esquema de la tabla. Las columnas de clave primaria admiten los tipos STRING, INTEGER y BINARY.

columnsToUpdate (obligatorio)

List<Pair<Column, RowUpdateChange.Type>>

Los cambios en las columnas de atributos. Llame a put, deleteColumn, deleteColumns o increment para agregar un cambio.

condition (opcional)

Condition

La condición de actualización. De forma predeterminada, Tablestore no comprueba si la fila existe.

Para obtener información sobre cómo configurar la condición, consulte Use conditional updates.

returnType (opcional)

ReturnType

El tipo de retorno. El valor predeterminado es RT_NONE. Para contadores atómicos, establezca este parámetro en RT_AFTER_MODIFY para devolver los valores actualizados de las columnas.

Para obtener información sobre cómo configurar contadores atómicos, consulte Use atomic counters.

returnColumnNames (opcional)

Set<String>

Las columnas de atributos cuyos valores actualizados desea devolver. Este parámetro se aplica únicamente a contadores atómicos.

Métodos de cambio de columnas de atributos

Llame a los siguientes métodos para agregar cambios a columnsToUpdate.

  • put: Agrega una columna de atributo o escribe una nueva versión. Puede especificar el número de versión de los datos.

  • deleteColumn: Elimina una versión específica de una columna de atributo.

  • deleteColumns: Elimina todas las versiones de una columna de atributo.

  • increment: Incrementa atómicamente una columna de atributo del tipo INTEGER.

Respuesta

UpdateRowResponse contiene el siguiente campo específico de la operación.

Campo

Tipo

Descripción

row

Row

Las columnas de atributos actualizadas, obtenidas al llamar a getRow. Este campo se devuelve solo cuando returnType se establece en RT_AFTER_MODIFY.

Escenarios

Escribir columnas de atributos con un número de versión específico

Pase un tercer argumento a put para especificar el número de versión (una marca de tiempo en milisegundos) de la columna de atributo. Utilice este enfoque para archivar valores históricos asociados a tiempos de negocio.

String tableName = "update_row_demo";

PrimaryKeyBuilder primaryKeyBuilder = PrimaryKeyBuilder.createPrimaryKeyBuilder();
primaryKeyBuilder.addPrimaryKeyColumn("id", PrimaryKeyValue.fromString("row1"));
PrimaryKey primaryKey = primaryKeyBuilder.build();

RowUpdateChange rowUpdateChange = new RowUpdateChange(tableName, primaryKey);
// Specify the version number (a millisecond timestamp) as the third argument.
long version = System.currentTimeMillis();
rowUpdateChange.put("col2", ColumnValue.fromString("val2"), version);

client.updateRow(new UpdateRowRequest(rowUpdateChange));

Eliminar una versión específica de una columna de atributo

Utilice deleteColumn para quitar una sola versión de una columna de atributo y mantener intactas todas las demás versiones.

String tableName = "update_row_demo";

PrimaryKeyBuilder primaryKeyBuilder = PrimaryKeyBuilder.createPrimaryKeyBuilder();
primaryKeyBuilder.addPrimaryKeyColumn("id", PrimaryKeyValue.fromString("row1"));
PrimaryKey primaryKey = primaryKeyBuilder.build();

RowUpdateChange rowUpdateChange = new RowUpdateChange(tableName, primaryKey);
// Delete the col2 value at the specified version (a millisecond timestamp).
rowUpdateChange.deleteColumn("col2", 1747893563831L);

client.updateRow(new UpdateRowRequest(rowUpdateChange));

Eliminar una columna de atributo completa

Utilice deleteColumns para eliminar todas las versiones de una columna de atributo en una sola operación.

String tableName = "update_row_demo";

PrimaryKeyBuilder primaryKeyBuilder = PrimaryKeyBuilder.createPrimaryKeyBuilder();
primaryKeyBuilder.addPrimaryKeyColumn("id", PrimaryKeyValue.fromString("row1"));
PrimaryKey primaryKey = primaryKeyBuilder.build();

RowUpdateChange rowUpdateChange = new RowUpdateChange(tableName, primaryKey);
// Delete all versions of the col2 attribute column.
rowUpdateChange.deleteColumns("col2");

client.updateRow(new UpdateRowRequest(rowUpdateChange));