question

MySQL: carregar dados local infile - selecione ignorar a última coluna?

Olá,

Estou tentando importar um arquivo csv para o banco de dados mysql usando o comando load data local infile.

Meu arquivo csv tem o seguinte formato:
1;Lubos;Chrapna; 92; as Musas;Topolcany
2;Branislav;Grecni; 28; as Musas;Topolcianky
3; David;Forgac; 57; as Musas;Hronsky Benadik
4; Imrich Doci; 58; as Musas;Kosice

A tabela em que quero inserir esse arquivo tem a seguinte estrutura:

CREATE table if not exist DIM_zakaznik(
int(5) identificação,
varchar (15) Meno,
varchar (15) priezvisko,
Vek int(15),
varchar (15) pohlavie,
bydlisko varchar(15))

A minha consulta está assim:

load data local infile 'dim_zakaznik.csv' na tabela DIM_zakaznik
campos denunciados por ';'
delimitada por '\n'
linhas terminadas por '\n'

Funciona perfeitamente e, ao olhar para essa tabela no phpMyAdmin, tudo parece OK. No entanto, meu problema é que, ao tentar executar a seleção, está ignorando a última coluna (chamada 'bydlisko').

Por exemplo, se tento isso:
Selecionar de 'dim_zakaznik' onde 'bydlisko' = 'Topolcany'

A resposta é: "MySQL retornou um conjunto de resultados vazio (ou seja, zero linhas). (Consulta levou 0.0184 s)"

Isso não deveria retornar um resultado válido? Não está funcionando apenas com essa última coluna e eu não tenho ideia do porquê.

Eu realmente gostaria de receber alguma ajuda. Obrigado antecipadamente!

Obrigado pela resposta. Você está certo. Esses selects que você escreveu funcionam bem. Mas tenho certeza de que neste arquivo csv não há espaços. Então, não entendo por que essa coluna supostamente tem espaços à direita. Há algum problema com LOAD DATA LOCAL INFILE? Ou o que? Obrigado novamente :).
resposta Resposta

Olá,

Para resolver o problema com a última coluna sendo ignorada ao executar a consulta select, você pode seguir os passos abaixo:

  1. Verifique se não há espaços em branco após os valores da última coluna no arquivo csv. Caso haja, remova esses espaços para garantir que a importação seja feita corretamente.
  2. Ao criar a tabela DIM_zakaznik no MySQL, certifique-se de que a definição da coluna 'bydlisko' corresponda exatamente aos dados do arquivo csv. Por exemplo, se no arquivo csv a última coluna é definida como 'bydlisko varchar(15)', a mesma definição deve ser utilizada ao criar a tabela.
  3. Quando estiver usando o comando LOAD DATA LOCAL INFILE para carregar os dados do arquivo csv, verifique se o delimitador e o terminador de linha estão corretamente definidos. No seu caso, o delimitador é ';' e o terminador de linha é '\n', que parece estar configurado corretamente.
  4. Após carregar os dados para a tabela DIM_zakaznik, execute a consulta select para testar se a última coluna está sendo corretamente considerada. Por exemplo, execute o comando 'Select from DIM_zakaznik where bydlisko = 'Topolcany'' e verifique se os resultados são retornados conforme o esperado.

Após seguir esses passos, você deverá conseguir importar e consultar os dados do arquivo csv corretamente, sem que a última coluna seja ignorada.

Obrigado pela resposta!


ComentáriosComentários
Acho que a resposta não está correta ou que você gostaria de acrescentar mais
alguma informação? Envie o seu comentário abaixo..

Guest


HTML não é permitido!

Image Code

Digite os caracteres que aparecem na imagem por isso sabemos que você é humano!

Receber um email quando alguém acrescenta outro comentário a esta pergunta


Topo da página


Home  Terms
Copyright © Accelerated Ideas 2005-2024
All rights reserved