Execute a instrução CREATE TABLE para criar uma tabela de mapeamento referente a uma tabela ou índice de pesquisa existente. Ao criar a tabela de mapeamento, especifique os nomes e tipos dos campos, as informações da chave primária e o mecanismo de execução das consultas de dados conforme as necessidades do seu negócio.
Para mais informações, consulte Criar uma tabela de mapeamento para uma tabela e Criar tabelas de mapeamento para índices de pesquisa.
Pré-requisitos
Cliente inicializado. Para mais informações, consulte Inicializar um cliente do Tablestore.
-
Para criar uma tabela de mapeamento para um índice de pesquisa, primeiro crie o índice de pesquisa.
Parâmetros
|
Parâmetro |
Descrição |
|
query |
Instrução SQL. Configure este parâmetro de acordo com o recurso necessário. |
Exemplos
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 correspondente à criação de tabelas de mapeamento para índices de pesquisa.
O exemplo a seguir mostra como usar a instrução create table test_table (pk varchar(1024), long_value bigint(20), double_value double, string_value mediumtext, bool_value bool, primary key(pk)) para criar uma tabela de mapeamento referente à tabela test_table.
func createMappingTable(client *tablestore.TableStoreClient) {
// Create a SQL request.
request := &tablestore.SQLQueryRequest{Query: "create table test_table (pk varchar(1024), long_value bigint, double_value double, string_value mediumtext, bool_value bool, primary key(pk))"}
// Obtain the response to the SQL request.
res, err := client.SQLQuery(request)
if err != nil {
fmt.Println(err.Error())
} else {
fmt.Println(res.ResponseInfo.RequestId)
}
}
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 de destino para a criação da tabela de mapeamento não existe.
-
Solução
A instrução CREATE TABLE em SQL cria uma tabela de mapeamento apenas para uma tabela ou índice de pesquisa existente. Verifique se a tabela ou o índice de pesquisa de destino 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 essa tabela.
Uma tabela de mapeamento foi criada manualmente para a tabela.
O Tablestore criou automaticamente uma tabela de mapeamento. Se você usar instruções SQL (como DESCRIBE ou SELECT) para consultar dados em uma tabela de dados sem ter criado previamente uma tabela de mapeamento, o Tablestore a criará automaticamente. Essa tabela gerada 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 criada automaticamente.
-
Solução
Execute a instrução
DESCRIBEpara consultar o esquema da tabela de mapeamento. Caso o esquema não atenda aos requisitos do seu negócio, atualize as colunas de atributo da tabela de mapeamento. Se o Tablestore tiver criado a tabela de mapeamento automaticamente, não será possível atualizar as colunas de atributo. Nesse cenário, exclua a tabela de mapeamento e crie uma nova, desde que essa exclusão não afete seu negócio.
Para erros comuns e soluções relacionados ao recurso de consulta SQL, consulte Solucionar erros comuns de consulta SQL.
Referências
Após criar uma tabela de mapeamento, você pode atualizar suas colunas de atributo, consultar informações sobre ela, listar seus nomes, verificar detalhes de índices e excluí-la. Para mais informações, consulte Atualizar colunas de atributo de uma tabela de mapeamento, Consultar informações sobre uma tabela, Consultar os nomes das tabelas de mapeamento, Consultar informações descritivas de índices e Excluir uma tabela de mapeamento.
Use a instrução SELECT para consultar e analisar dados em uma tabela de mapeamento. Para mais informações, consulte Consultar dados.