Ir para conteúdo
Fórum Script Brasil
  • 0

Primary Key permitindo duplicidade


Ademir Gabardo

Pergunta

Pessoal este é meu primeiro Post, estou montando um sistema para gerenciamento e vai ter login de usuários.

Montei a tabelinha de usuários mas ele está permitindo registros duplicados.

Vejam como ficou o SQL para criar a table.

CREATE TABLE `sistema`.`usuarios` (

`id` int(10) unsigned NOT NULL auto_increment,

`usuario` varchar(12) NOT NULL,

`senha` varchar(45) NOT NULL,

`pessoa` int(10) unsigned NOT NULL,

`status` tinyint(1) NOT NULL default '1',

PRIMARY KEY USING BTREE (`id`,`usuario`),

KEY `usuario` (`usuario`),

KEY `pessoa` (`pessoa`),

CONSTRAINT `FK_usuarios_Pessoa` FOREIGN KEY (`pessoa`) REFERENCES `pessoas` (`id`) ON DELETE CASCADE ON UPDATE CASCADE

) ENGINE=InnoDB AUTO_INCREMENT=16 DEFAULT CHARSET=latin1 ROW_FORMAT=DYNAMIC;

Note que mesmo fazendo a atribuição as duas colunas, a ID e USUARIO ainda assim ele está permitindo duplicar.

Alguém já passou por situação semelhante?

Ideia de solução?

Abraços a todos.

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Oi, 'Ademir Gabardo'!

A sua lógica pode estar te dando a impressão de estar duplicado. Pois palo que você descreveu em sua PRIMARY KEY USING BTREE (`id`,`usuario`), ou você vai ter o mesmo usuário com números de id diferentes ou você vai ter números diferentes com o mesmo usuário.

Sua primary Key deveria ser somente PRIMARY KEY USING BTREE (`id`), e você deveria criar uma chave única para usuário. Ou seja somente pode existir um usuário cadastrado com este nome de usuário.

De qualquer forma reveja sua lógica.

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.


  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...