Execute a instrução CREATE TABLE para criar uma tabela de mapeamento para uma tabela ou um índice de pesquisa existentes. Ao criar a tabela de mapeamento, especifique os nomes e os tipos dos campos, as informações de chave primária e o mecanismo de execução a ser usado para consultas de dados, conforme os requisitos do seu negócio.
Para mais informações, consulte Crie uma tabela de mapeamento para uma tabela e Crie tabelas de mapeamento para índices de pesquisa.
Pré-requisitos
Antes de começar, verifique se:
Um cliente foi inicializado. Para mais informações, consulte Initialize a Tablestore client.
-
Para criar uma tabela de mapeamento para um índice de pesquisa, primeiro crie o índice de pesquisa.
Parâmetros
|
Parâmetro |
Descrição |
|
query |
A instrução SQL usada para criar a tabela de mapeamento. Os tipos das colunas na instrução devem corresponder aos tipos de dados das colunas correspondentes na tabela de dados. |
Exemplos
Este tópico descreve como criar uma tabela de mapeamento para uma tabela de dados. 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 de uma tabela de mapeamento do índice de pesquisa.
Ao contrário do CREATE TABLE em um banco de dados relacional, esta instrução não cria uma nova tabela. Ela cria um mapeamento SQL sobre uma tabela de dados existente do Tablestore e permite consultas baseadas em SQL em dados NoSQL.
O exemplo a seguir cria uma tabela de mapeamento para test_table com a instrução 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);
}
});
FAQ
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 deseja criar uma tabela de mapeamento não existe.
-
Solução
Execute a instrução CREATE TABLE em SQL para criar uma tabela de mapeamento apenas para uma tabela ou um índice de pesquisa existentes. Certifique-se de que a tabela ou o índice de pesquisa para o qual deseja criar a tabela de mapeamento já exista.
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.
Uma tabela de mapeamento foi criada manualmente para a tabela.
O Tablestore criou automaticamente uma tabela de mapeamento para a tabela. Se você usar diretamente instruções SQL (como DESCRIBE, selecione, etc.) para consultar dados em uma tabela de dados sem criar uma tabela de mapeamento para a tabela de dados, o Tablestore cria automaticamente uma tabela de mapeamento para a 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 da tabela de mapeamento.
-
Solução
Execute a instrução
DESCRIBEpara consultar o esquema da tabela de mapeamento. Se o esquema não atender aos requisitos do seu negócio, é possível atualize as colunas de atributo da tabela de mapeamento. Se a tabela de mapeamento foi 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, certificando-se de que a exclusão não afetará o seu negócio.
Para erros comuns e soluções do recurso de consulta SQL, consulte Troubleshoot common SQL query errors.
Referências
Depois de criar uma tabela de mapeamento, é possível atualizar suas colunas de atributo, consultar informações da tabela de mapeamento, listar nomes de tabelas de mapeamento, consultar informações de índice e excluir a tabela de mapeamento. Para mais informações, consulte Atualize as colunas de atributo de uma tabela de mapeamento, Query information about a table, List the names of tables, Query index information about tables ou Exclua uma tabela de mapeamento.
Use a instrução selecione para consultar e analisar dados em uma tabela de mapeamento. Para mais informações, consulte Query data.