Todos los productos
Search
Centro de documentos

Tablestore:Cree una tabla de asignación

Última actualización: Sep 03, 2026

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

Requisitos previos

  • Instale Tablestore SDK for Python e inicialice un cliente.

  • La consulta SQL requiere la versión 5.4.2 o posterior. Se recomienda utilizar la versión más reciente.

Descripción

Llame al método exe_sql_query para ejecutar una instrucción CREATE TABLE y crear una tabla de asignación para una tabla de datos o un índice de búsqueda existente.

def exe_sql_query(self, query)

Para una tabla de datos, la tabla de asignación debe tener el mismo nombre que dicha tabla. Los nombres de los campos no distinguen entre mayúsculas y minúsculas, y los tipos de campo deben corresponder a los tipos de campo de la tabla de datos. Para un índice de búsqueda, puede personalizar el nombre de la tabla de asignación y usar ENGINE y ENGINE_ATTRIBUTE para especificar la tabla de datos y el índice de búsqueda.

Para consultar la sintaxis, los tipos de campo y los parámetros de la instrucción CREATE TABLE, consulte DDL operations.

A continuación se muestra un ejemplo que crea una tabla de asignación para la tabla de datos example_table.

query = """
CREATE TABLE example_table (
    pk VARCHAR(1024), long_value BIGINT, double_value DOUBLE,
    string_value MEDIUMTEXT, bool_value BOOL, PRIMARY KEY(pk)
)
"""
client.exe_sql_query(query)

Parámetros

El método exe_sql_query contiene el siguiente parámetro.

Nombre

Tipo

Descripción

query (obligatorio)

String

La instrucción CREATE TABLE que se va a ejecutar. Esta instrucción define el nombre de la tabla de asignación, los campos, la clave principal y el motor de consultas. Las asignaciones de tablas de datos y las asignaciones de índices de búsqueda utilizan sintaxis diferentes.

Ejemplos de escenarios

Cree una tabla de asignación para un índice de búsqueda

Establezca ENGINE en searchindex y especifique la tabla de datos y el índice de búsqueda en ENGINE_ATTRIBUTE. A continuación se muestra un ejemplo que crea la tabla de asignación example_search_table para el índice de búsqueda example_index de la tabla de datos example_table.

query = """
CREATE TABLE example_search_table (
    pk MEDIUMTEXT, long_value BIGINT, string_value MEDIUMTEXT
) ENGINE='searchindex'
ENGINE_ATTRIBUTE='{"index_name":"example_index","table_name":"example_table"}'
"""
client.exe_sql_query(query)

Preguntas frecuentes

Se devuelve el error Table 'instance.table' doesn't exist

Causa: La tabla de datos o el índice de búsqueda especificado no existe. La instrucción CREATE TABLE solo crea la tabla de asignación.

Solución: Compruebe los nombres, asegúrese de que la tabla de datos o el índice de búsqueda exista y vuelva a ejecutar la instrucción.

Se devuelve el error Table 'instance.table' already exists

Causa: La tabla de asignación ya existe. Una instrucción DESCRIBE o SELECT también puede crear automáticamente una tabla de asignación que contenga solo columnas de clave principal y columnas predefinidas.

Solución: Para evitar errores por creación duplicada, utilice IF NOT EXISTS. Si necesita modificar una tabla de asignación creada automáticamente, evalúe el impacto, elimine la tabla de asignación y vuelva a crearla.