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

Quando realizo o comando SELECT * FROM tbproduto lista é alimentada somente com o primeiro registro

Olá, pessoal da Alura!

Estou com problemas quando executo o comando SELECT * FROM tbproduto aparece somente o primeiro produto cadastrado, porém os demais não aparecem. Vou enviar o código para vocês verificarem se há algum erro.

Já conferi várias vezes procurando o erro, inclusive não houve erros na execução dos comandos e tomei o cuidado de verificar se o banco de dados estava selecionado corretamente.

Aguardo retorno!

Atenciosamente

USE SUCOS;

INSERT INTO tbproduto (
PRODUTO, NOME, EMBALAGEM, TAMANHO, SABOR, PRECO_LISTA) VALUES (
'1037797', 'Clean - 2 Litros - Laranja',
'PET', '2 Litros', 'Laranja', 16.01);
INSERT INTO tbproduto (
PRODUTO, NOME, EMBALAGEM, TAMANHO, SABOR, PRECO_LISTA) VALUES (
'1000889', 'Sabor da Montanha - 700 ml - Uva',
'Garrafa', '700 ml', 'uva', 6.31);
INSERT INTO tbproduto (
PRODUTO, NOME, EMBALAGEM, TAMANHO, SABOR, PRECO_LISTA) VALUES (
'1004327', 'Videira do Campo - 1,5 Litros - Melancia',
'PET', '1,5 Litros', 'Melancia', 19.51);

SELECT * FROM tbproduto
4 respostas

Oi Amanda, eu também sou aluno aqui e passando pelo fórum vi seu post. Uma sugestão é experimentar a inserção com multiplas linhas. Assim:

INSERT INTO tbproduto ( PRODUTO, NOME, EMBALAGEM, TAMANHO, SABOR, PRECO_LISTA ) VALUES ( '1037797', 'Clean - 2 Litros - Laranja', 'PET', '2 Litros', 'Laranja', 16.01), ( '1000889', 'Sabor da Montanha - 700 ml - Uva', 'Garrafa', '700 ml', 'uva', 6.31), ( '1004327', 'Videira do Campo - 1,5 Litros - Melancia', 'PET', '1,5 Litros', 'Melancia', 19.51);

Claro, entendo também que INSERT separados não seriam problema. Uma pergunta, como foi que a tabela tbproduto foi criada?

Oi, José! Como vai?

Fiz como sugerido por você e o problema persistiu aparecendo somente o primeiro produto cadastrado.

Criei a tabela através do comando CREATE TABLE

oi Amanda. Faz assim, executa esse comando SELECT COUNT(*) FROM tbproduto;.

É dessa maneira que requisitamos em SQL um pedido de contagem de todos os registros na tabela tbproduto. Parece que no gerenciador de bases de dados usado por você está configurado pra sempre passar a requisição com um LIMIT 1. Desse modo quando você passa o seu SELECT o que tá sendo executado embaixo do capô é um SELECT * FROM tbproduto LIMIT 1;

Você pode experimentar passar uma requisição do tipo SELECT * FROM tbproduto LIMIT 100;

solução!

Oi, José! Me desculpe pela demora.

Refiz as tabelas e inseri novamente os registros nas mesmas e agora tudo ocorreu bem. Não sei dizer qual poderia ser meu erro, mas aparentemente agora está tudo certo.

Muito obrigada pela sua ajuda!