Todos los productos
Search
Centro de documentos

Tablestore:Crear una tabla de mapeo

Última actualización: Sep 29, 2026

Tablestore SDK for PHP crea una tabla de mapeo para una tabla o un índice de búsqueda existente. Esto permite acceder 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.

Notas de uso

Las consultas SQL son compatibles con Tablestore SDK for PHP V5.1.0 y versiones posteriores. Compruebe que tiene instalada una versión compatible.

Para consultar el historial de versiones de Tablestore SDK for PHP, consulte Version history of Tablestore SDK for PHP .

Requisitos previos

Parámetros

SQLQueryRequest contiene el parámetro a continuación.

Nombre

Tipo

Descripción

query (obligatorio)

String

La instrucción CREATE TABLE que define el nombre de la tabla de mapeo, los campos, la clave principal y el motor de consulta. Las asignaciones de tablas de datos y las de índices de búsqueda utilizan sintaxis distintas.

Ejemplos

Nota

Este tema describe cómo crear una tabla de mapeo para una tabla. Si necesita crear una tabla de mapeo para un índice de búsqueda, reemplace la instrucción SQL del código de ejemplo por la instrucción correspondiente a ese tipo de índice.

A continuación se muestra cómo usar la instrucción CREATE TABLE para crear una tabla de mapeo de la tabla tableName.

$request = array(
    'query' => 'CREATE TABLE `tableName` (`PK0` BIGINT(20),`PK1` VARCHAR(1024),`geo` MEDIUMTEXT,`boolean` BOOL,`array` MEDIUMTEXT,`double` DOUBLE,`text` MEDIUMTEXT,`keyword` MEDIUMTEXT,`nested` MEDIUMTEXT,`long` BIGINT(20),PRIMARY KEY(`PK0`,`PK1`));',
);
$response = $otsClient->sqlQuery($request);
print json_encode($response, JSON_PRETTY_PRINT);

Preguntas frecuentes

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

  • Causa posible

    La tabla para la que intenta crear la tabla de mapeo no existe.

  • Solución

    La instrucción CREATE TABLE de SQL solo permite crear una tabla de mapeo para una tabla o un índice de búsqueda que ya exista. Compruebe que la tabla o el índice de búsqueda de destino esté creado antes de continuar.

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

  • Causa posible

    Ya se creó una tabla de mapeo para la tabla indicada. Esto ocurre en dos situaciones:

    • Un usuario creó manualmente la tabla de mapeo.

    • Tablestore generó automáticamente la tabla de mapeo. Si consulta datos de una tabla directamente con instrucciones SQL (como DESCRIBE o SELECT) sin haber creado antes su tabla de mapeo, Tablestore la genera de forma automática. Esta tabla de mapeo automática solo incluye las columnas de clave principal y las columnas predefinidas de la tabla de datos, por lo que no es posible actualizar sus columnas de atributos.

  • Solución

    Ejecute la instrucción DESCRIBE para consultar el esquema de la tabla de mapeo. Si el esquema no cumple con sus requisitos de negocio, puede update the attribute columns of the mapping table. Cuando Tablestore crea la tabla de mapeo automáticamente, no es posible actualizar las columnas de atributos. En ese caso, elimine la tabla de mapeo y cree una nueva, siempre que haya comprobado que esta acción no afecta su operación.

Nota

Para conocer los errores comunes de la función de consultas SQL y sus soluciones, consulte Troubleshoot common SQL query errors.

Referencias