Ir ao conteúdo
  • Cadastre-se

MySQL como não repetir a chave primaria ?


Posts recomendados

9 minutos atrás, João Vitor Sacramento Rocha disse:

SELECT * FROM `vendas`,`usuario`,`itens` WHERE `cnpj`='1' AND `idUser`=`idusuario` AND `datareg` BETWEEN '2019-12-19' AND '2019-12-19'

como não se repetir o id da vendas

 

@João Vitor Sacramento Rocha boa tarde,

 

Não sei qual a intenção dessa query, mas você não deveria fazer JOINS em vez de colocar " FROM `vendas`,`usuario`,`itens` " ?

Link para o comentário
Compartilhar em outros sites

  • Moderador

@João Vitor Sacramento Rocha

Explicando de uma forma simplificada, você vai ter UMA tabela que vai ser a "mandante" ou seja aquela que farás a consulta. as outras tabelas serão relacionamentos com esta tabela por meio de chave estrangeira.

 

Para que dê tudo certo, certifique-se que suas tabelas sejam do tipo innoDB.

Você pode criar os relacionamentos via código, porém indico que use a ferramenta "Designer" que o phpmyadmin possui.

Para usar corretamente esta ferramenta, você precisa seguir alguns procedimentos.

 

1) Na tabela mandante, ou seja, aquela que irá conter as chaves estrangeiras, crie os índices(index) para cada campo de chave estrangeira. Na caixa de seleção de tipos, escolha "INDEX".

 

2) Acesse a tela inicial do seu banco de dados e procure a aba chamada "Designer".

 

3) Nesta aba, você visualizará todas suas tabelas em forma gráfica. 

 

4) No painel de ícones do designer, ache o ícone de uma "ligação" Acho que vai mostrar o nome de cada ícone se deixar o mouse em cima.

 

5) clique neste ícone.. então depois clique no campo ID que vai ser referenciado.  Depois clique no campo que vai ser a chave estrangeira. Se der certo, antes de concluir, terá uma janela perguntando se quer afetar outra tabela se caso outra for mudada ao fazer um update ou delete, Escolha a opção ON CASCADE.  Isso vai resolver alguns problemas de inconsistência, ou seja, não vai deixar apagar um dado referente a outro.

 

Você pode visualizar tudo isso neste vídeo:

 

 

 

  • Obrigado 1
Link para o comentário
Compartilhar em outros sites

9 horas atrás, DiF disse:

@João Vitor Sacramento Rocha

Explicando de uma forma simplificada, você vai ter UMA tabela que vai ser a "mandante" ou seja aquela que farás a consulta. as outras tabelas serão relacionamentos com esta tabela por meio de chave estrangeira.

 

Para que dê tudo certo, certifique-se que suas tabelas sejam do tipo innoDB.

Você pode criar os relacionamentos via código, porém indico que use a ferramenta "Designer" que o phpmyadmin possui.

Para usar corretamente esta ferramenta, você precisa seguir alguns procedimentos.

 

1) Na tabela mandante, ou seja, aquela que irá conter as chaves estrangeiras, crie os índices(index) para cada campo de chave estrangeira. Na caixa de seleção de tipos, escolha "INDEX".

 

2) Acesse a tela inicial do seu banco de dados e procure a aba chamada "Designer".

 

3) Nesta aba, você visualizará todas suas tabelas em forma gráfica. 

 

4) No painel de ícones do designer, ache o ícone de uma "ligação" Acho que vai mostrar o nome de cada ícone se deixar o mouse em cima.

 

5) clique neste ícone.. então depois clique no campo ID que vai ser referenciado.  Depois clique no campo que vai ser a chave estrangeira. Se der certo, antes de concluir, terá uma janela perguntando se quer afetar outra tabela se caso outra for mudada ao fazer um update ou delete, Escolha a opção ON CASCADE.  Isso vai resolver alguns problemas de inconsistência, ou seja, não vai deixar apagar um dado referente a outro.

 

Você pode visualizar tudo isso neste vídeo:

 

 

 

boa

Link para o comentário
Compartilhar em outros sites

  • 4 semanas depois...

Fazer consulta de várias tabelas sem o devido join você vai cair no famoso join cartesiano, cujo resultado é a multiplicação de uma tabela pela outra. Dependendo do tamanho das tabelas envolvidas você derruba a máquina. E dependendo do banco que você fizer isso você pode passar no RH da empresa para pegar o bilhete azul.

Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...