Todos los productos
Search
Centro de documentos

Tablestore:Crear una tabla de asignación

Última actualización: Sep 03, 2026

Tablestore SDK for Java crea una tabla de asignación para una tabla o un índice de búsqueda existente con el fin de habilitar el acceso a los datos mediante SQL.

Nota

Para obtener más información, consulte Create a mapping table for a table y Create mapping tables for search indexes.

Requisitos previos

Antes de empezar, asegúrese de que:

Parámetros

Parámetro

Descripción

query

Sentencia SQL utilizada para crear la tabla de asignación. Los tipos de columna en la sentencia deben coincidir con los tipos de datos de las columnas correspondientes en la tabla de datos.

Ejemplos

Nota

Este tema describe cómo crear una tabla de asignación para una tabla de datos. Para crear una tabla de asignación para un índice de búsqueda, reemplace la sentencia SQL del código de ejemplo por la sentencia SQL correspondiente a una tabla de asignación de índice de búsqueda.

A diferencia de CREATE TABLE en una base de datos relacional, esta sentencia no crea una nueva tabla, sino una asignación SQL sobre una tabla de datos de Tablestore existente que permite consultar datos NoSQL mediante SQL.

El siguiente ejemplo crea una tabla de asignación para test_table mediante la sentencia create table test_table (pk varchar(1024), long_value bigint, double_value double, string_value mediumtext, bool_value bool, primary key(pk)).

const params = {
  // The SQL statement to create a mapping table.
  // Column types must match the data types of the corresponding columns in the data table.
  // For SQL syntax details, see the SQL reference documentation.
  query: "create table test_table (pk varchar(1024), long_value bigint, double_value double, string_value mediumtext, bool_value bool, primary key(pk))",
}

client.sqlQuery(params, function (err, data) {
  if (err) {
    console.log('sqlQuery error:', err.toString());
  } else {
    console.log('sqlQuery success:', data);
  }
});

Preguntas frecuentes

¿Qué debo hacer si se devuelve el mensaje de error "Table 'instancename.tablename' doesn't exist ?" al crear una tabla de asignación?

  • Causa posible

    La tabla para la que desea crear una tabla de asignación no existe.

  • Solución

    La sentencia CREATE TABLE en SQL solo permite crear tablas de asignación para tablas o índices de búsqueda existentes. Asegúrese de que la tabla o el índice de búsqueda para el que desea crear la tabla de asignación exista.

¿Qué debo hacer si se devuelve el mensaje de error "Table 'instancename.tablename' already exist?" al crear una tabla de asignación?

  • Causa posible

    Ya existe una tabla de asignación para la tabla.

    • Se creó manualmente una tabla de asignación para la tabla.

    • Tablestore creó automáticamente una tabla de asignación para la tabla. Si consulta datos en una tabla de datos directamente con sentencias SQL (como DESCRIBE o SELECT) sin haber creado previamente una tabla de asignación, Tablestore genera dicha tabla de forma automática. Esta tabla de asignación generada automáticamente solo contiene las columnas de clave principal y las columnas predefinidas de la tabla de datos. No es posible actualizar sus columnas de atributo.

  • Solución

    Ejecute la sentencia DESCRIBE para consultar el esquema de la tabla de asignación. Si el esquema no cumple con sus requisitos empresariales, puede update the attribute columns of the mapping table. Si Tablestore creó la tabla de asignación automáticamente, no podrá actualizar las columnas de atributo. En este caso, elimine la tabla de asignación y cree una nueva, siempre que esté seguro de que su negocio no se verá afectado tras eliminarla.

Nota

Para consultar los errores comunes y sus soluciones relacionados con la función de consulta SQL, consulte Troubleshoot common SQL query errors.

Referencias