Ademir Gabardo Postado Agosto 28, 2009 Denunciar Share Postado Agosto 28, 2009 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 More sharing options...
0 Denis Courcy Postado Agosto 31, 2009 Denunciar Share Postado Agosto 31, 2009 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 More sharing options...
Pergunta
Ademir Gabardo
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