Todos os produtos
Search
Central de documentação

Tablestore:Create a mapping table

Última atualização: Sep 29, 2026

O Tablestore SDK for PHP cria uma tabela de mapeamento para uma tabela ou índice de pesquisa existente, permitindo o acesso aos dados via SQL.

Observações de uso

O recurso de consulta SQL é compatível com o Tablestore SDK for PHP V5.1.0 ou superior. Instale uma versão compatível.

Para consultar o histórico de versões do Tablestore SDK for PHP, acesse Version history of Tablestore SDK for PHP .

Pré-requisitos

Parâmetros

SQLQueryRequest contém o seguinte parâmetro.

Nome

Tipo

Descrição

query (obrigatório)

String

A instrução CREATE TABLE que define o nome da tabela de mapeamento, os campos, a chave primária e o mecanismo de consulta. Os mapeamentos de tabelas de dados e os mapeamentos de índices de pesquisa utilizam sintaxes diferentes.

Exemplos

Nota

Este tópico descreve como criar uma tabela de mapeamento para uma tabela. Para criar uma tabela de mapeamento para um índice de pesquisa, substitua a instrução SQL no código de exemplo pela instrução SQL usada na criação de uma tabela de mapeamento para um índice de pesquisa.

O exemplo a seguir mostra como usar a instrução CREATE TABLE para criar uma tabela de mapeamento para a tabela 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);

Perguntas frequentes

O que fazer se a mensagem de erro "Table 'instancename.tablename' doesn't exist ?" for retornada ao criar uma tabela de mapeamento?

  • Causa possível

    A tabela para a qual você deseja criar uma tabela de mapeamento não existe.

  • Solução

    Execute a instrução CREATE TABLE em SQL apenas para criar uma tabela de mapeamento para uma tabela ou índice de pesquisa existente. Verifique se a tabela ou o índice de pesquisa para o qual você deseja criar a tabela de mapeamento realmente existe.

O que fazer se a mensagem de erro "Table 'instancename.tablename' already exist?" for retornada ao criar uma tabela de mapeamento?

  • Causa possível

    Já existe uma tabela de mapeamento para a tabela.

    • O usuário criou manualmente uma tabela de mapeamento para a tabela.

    • O Tablestore criou automaticamente uma tabela de mapeamento para a tabela. Se você usar diretamente instruções SQL (como DESCRIBE, SELECT, etc.) para consultar dados em uma tabela de dados sem criar uma tabela de mapeamento para ela, o Tablestore criará automaticamente uma tabela de mapeamento para essa tabela de dados. A tabela de mapeamento criada automaticamente contém apenas as colunas de chave primária e as colunas predefinidas da tabela de dados. Não é possível atualizar as colunas de atributo dessa tabela de mapeamento.

  • Solução

    Execute a instrução DESCRIBE para consultar o esquema da tabela de mapeamento. Se o esquema não atender aos seus requisitos de negócios, você pode atualize as colunas de atributo da tabela de mapeamento. Se a tabela de mapeamento tiver sido criada automaticamente pelo Tablestore, não será possível atualizar as colunas de atributo. Nesse caso, exclua a tabela de mapeamento e crie uma nova, desde que você tenha certeza de que seus negócios não serão afetados após a exclusão.

Nota

Para erros comuns e soluções do recurso de consulta SQL, consulte Troubleshoot common SQL query errors.

Referências