Solucionado (ver solução)
Solucionado
(ver solução)
19
respostas

Dúvida no Ex. 4 da Aula 1 - Consultando os dados

Bom dia, não consigo popular a tabela, da um erro de sintaxe na linha de comando: ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'mysql -u root -p controle_compras < cap2.sql' at line 1 Não sei exatamente em que pasta devo salvar o arquivo cap2.sql, salvei em C:\Program Files (x86)\MySQL

19 respostas
solução!

Tambem tive esse problema amigo. O que fiz foi o seguinte. Abra o arquivo .sql com um bloco de notas. Voce ira perceber que são varias linhas de codigo sql. Copie-as e cola no terminal SQL. Para mim resolveu.

Funcionou, muito obrigado, mas continuo sem saber como importar. Procurei em uns 10 foruns, em todos mostra o comando: mysql tabela < file.sql ou mysql -u user -p password tabela < file.sql ,mas o meu da erro de sintaxe o tempo todo. copie o arquivo file.sql para todas as pastas dentro de programdata\mysql, mesmo assim não funcionou. De qualquer forma muito obrigado pela ajuda

Este arquivo tem que estar na pasta que você estiver executando o comando, não necessariamente dentro das pastas do mysql.

Abraço!

Olá, vc está utilizado qual sistema operacional ? Windows ,Linux ou IOS ?

se vc estiver usando o Windows... vc pode fazer o seguinte procedimento... acesse a pasta a onde se encontra o arquivo cap2.sql e clique com o botão direito do mouse com o shift pressionado... selecione a opção Abrir janela de comando aqui... e faça o comando de importação conforme descrito no curso

eu estou usando o ubuntu 14, o comando também não funciona

Amigo, o comando não deve está populando porque provavelmente você errou em alguma coisa.

Acredito que você deve ter errado na hora de criar a tabela!

Implemente o seguinte comando:

desc compras;

Logo em seguida verifique se a sequência é essa:

  • ID
  • DATA
  • VALOR
  • RECEBIDO
  • OBSERVACOES

Se não for essa a sequência vai dar erro mesmo! Beleza? Abraços.

Bons estudos.

Opa amigo,

não é o caso, pois se o erro estivesse na construção da tabela não teria como adicionar manualmente os itens

o dump nada mais é que os códigos do mysql escritos em um txt, e como cada código finaliza com ";" é só selecionar tudo e colar que o programa automaticamente vai inserindo os dados

claro que selecionar tudo, copiar e colar funciona com poucos dados, mas se fosse algo realmente grande ia dar problema

enfim pesquisei na net, li as respostas e continuo sem saber como importar, fora que as respostas do tipo "o arquivo deve estar no mesmo diretório da aplicação" são extremamente vagas, já que no console nem aparece um caminho/diretório. E mesmo se tivesse um folder de instalação, seria extremamente burro se não pudesse salvar os dumps em uma pasta específica, somente amontoar no meio de um monte de arquivo do programa

Dentro de esse arquivo só se encontra os insert into?

Qual a versão do MySQL que vocês estão utilizando?

Outra coisa, abram o arquivo com o Bloco de Notas e vejam se não tem algum encoding zuado, se a linha realmente está no formato certinho, exemplo:

insert into COMPRAS (valor, data, observacoes, recebido) values (200, '2008-02-19', 'MATERIAL ESCOLAR', 1);

o dump do cap2.sql contem apenas inserts, já o dump do cap3.sql cria a tabela COMPRAS, caso ela não exista, para não haver problema nenhum, e mesmo assim não consigo rodar pelo comando mysql -u root - p < cap2.sql (e tentei modificar para < destino do arquivo mas acusa o emsmo erro)

tentei também utilizar um código chamado source que vi na internet, se não me engano era só criar a database, use database, depois criar uma table(se necessário) e dar source *.sql. novamente sem sucesso, acusa que o arquivo não pode ser aberto pelo programa

eu uso a versão 5.5 ou 5.6 se não me engano, tem que ver no ubuntu 14 qual é a versão que está stable no apt-get install

Isso que eu ia falar, para abrir o codigo e adicionar a seguinte linhas:

CREATE TABLE IF NOT EXISTS COMPRAS (
  id int NOT NULL AUTO_INCREMENT,
  valor decimal(10,2),
  data datetime,
  observacoes text,
  recebido tinyint(1),
  PRIMARY KEY (id)
);

Eu uso ubuntu e não tive nenhum problema ao fazer o dump, mais sinceramente? Não acho vantajoso usar o terminal do ubuntu como gerenciador para fazer o curso. Eu rodei o Workbench aqui na minha máquina e tá de boa :)

Veja isso também. Abraços!

Entendi, eu optei por usar o ubuntu pois tenho um amigo que já trabalha na área que me recomendou a já ir me acostumando com sistemas de arquitetura unix, visto que as aplicações em windows, mesmo usando o powershell são extremamente mais longas.

esse fds ele vai vir aqui em casa me dar uma auxiliada e fazer uma "aula extra" e acabo pergutando pra ele o que está acontecendo de errado no meu dump, assim que descobrir eu respondo aqui para ajudar os futuros alunos

ah amigo deixa eu te pergutnar, o arquivo cap2.sql vc salvou em que local?

eu não virtualizo o ubuntu, eu faço um dual boot, por isso fica salvo por padrão na pasta de download do ubuntu eu tentei mover para o desktop do ubuntu também e o erro persistiu

Eu fiz o Dump de ~/Downloads normal. Também uso o ubuntu 14.10 e também é dualboot, a diferença é que uso o auxilio gráfico, no caso mysql Workbench.

entendi, vou dar uma testada no workbench, a primeira vez que usei(no windows) achei confuso, no console achei mais prático, mas vou continaur testando e ver onde me adapto melhor

obrigado pela ajuda

Não acho confuso, inclusive, sou da area de TI e trabalho com desenvolvimento, e no meu trabalho usamos auxilio virtual! Você raramente vai usar o console para trabalhar com banco de dados.

Abraços.

Iuji Ujisato Também estou usando o ubuntu 14, se bem lembro tinha 2 problemas na tabela um acho que era a ordem de uma das colunas e o outro era diferença no nome de um campo acho quer era o de observaçoes. eu criei uma tabela nova de acordo com os dados do arquivo.

o certo éid valor data observacoes recebido

não esqueça que o linux é case sensitive então COMPRAS é diferente de compras

verdade, o padrão do SQL no linux por padrão é case sensitive. Até com o auxilio gráfico ele dá treta por causa do case sensitive. Vale ressaltar isso!