SQL nao funciona
Boa noite, estou fazendo uma consulta em várias tabelas com relacionamento, porém nada retorna.
Segua o código abaixo:
Segua o código abaixo:
SELECT v.cod_vendedor, v.nome_vendedor, p.cod_produto, p.descricao_produto, p.cod_vendedor, p.estoque, p.valor_produto, p.marca, p.cod_categoria_prod, p.foto, c.cod_categoria_prod, c.categoria_produto FROM vendedor v, produto p, categoria_produto c WHERE v.cod_vendedor = p.cod_vendedor and c.cod_categoria_prod = p.cod_categoria_prod
Kelvin Eger
Curtidas 0
Melhor post
Luiz Santos
14/02/2017
Kelvin
A diferença principal entre INNODB e MyISAM tem a ver com o "engine do banco" suportar chaves estrangeiras ou não (respectivamente)
Sua consulta seria igual nas duas versões.
O que talvez melhorasse seria a performance.
No seu caso, vai decompondo sua consulta.
Primeiro executa uma tabela, depois a outra, depois amarrada.
Para não estar retornando nada e nem dar erro é possivel que não existam valores iguais para as chaves das tabelas.
Grande abraço
A diferença principal entre INNODB e MyISAM tem a ver com o "engine do banco" suportar chaves estrangeiras ou não (respectivamente)
Sua consulta seria igual nas duas versões.
O que talvez melhorasse seria a performance.
No seu caso, vai decompondo sua consulta.
Primeiro executa uma tabela, depois a outra, depois amarrada.
Para não estar retornando nada e nem dar erro é possivel que não existam valores iguais para as chaves das tabelas.
Grande abraço
GOSTEI 2
Mais Respostas
Lucas Gomes
13/02/2017
Caso não esteja executando o comando diretamente no Workbench, execute lá, e veja se aparece alguma mensagem de erro.
GOSTEI 1
Carlos Arantes
13/02/2017
No MySQL vc não precisa usar o join explicitamente para poder fazer união com as tabelas?
GOSTEI 1
Fernando C
13/02/2017
poste a estrutura das tabelas ou o MER - mas essas linhas estão estranhas:
veja q na 1ª linha categoria_produto é 1 coluna e na 2ª é 1 tabela; verifique.
poste tb mensagens de erro
c.categoria_produto
categoria_produto c
categoria_produto c
veja q na 1ª linha categoria_produto é 1 coluna e na 2ª é 1 tabela; verifique.
poste tb mensagens de erro
GOSTEI 1
Kelvin Eger
13/02/2017
Não apareceu nenhuma mensagem de erro no workbench. Aparentemente o erro está por parte que o phpMyAdmin não está interpretando as ligações.
Apóas análise de um amigo meu, ele verificou que o tipo poderia estar interferindo. O tipo atual está como MyISAM, segundo meu colega, deveria ser INNODB
Apóas análise de um amigo meu, ele verificou que o tipo poderia estar interferindo. O tipo atual está como MyISAM, segundo meu colega, deveria ser INNODB
GOSTEI 0
Kelvin Eger
13/02/2017
Certo, o problema em que a minha consulta não retornava nada, era simplesmente que por o MyISAM não controlar as chaves estrangeiras, ele permitia que eu excluísse dados que estavam relacionados em outras tabelas, ou seja de acordo com o que estava guardado, nenhum dado atendia a consulta de fato. Ao mudar para o INNODB agora, passou a respeitar as restrições de chaves nas exclusões.
Mas fico grato pelo tempo!
Mas fico grato pelo tempo!
GOSTEI 1