Email duplicado no struts

10 respostas
J

Olá pessoal,
como faço para verificar no banco de dados
se existe um email duplicado?

Se alguém puder me dar uma dica de como fazer isso
agradeço muito.

Segue o meu bean:

Segue o meu action:

Não sei como puxar essa verificação lá do bean

10 Respostas

M

Opa,

coloque no teu banco o campo e-mail como chave primária e o resto você trata o erro quando for tentando duplicar o registro, que neste caso será gerada uma exception…

:okok:

J

“marcossousa”:
Opa,

coloque no teu banco o campo e-mail como chave primária e o resto você trata o erro quando for tentando duplicar o registro, que neste caso será gerada uma exception…

:okok:

e se eu quiser fazer isso com o login tambem?

tem como colocar duas chaves primárias no banco?

M

opa,

você pode colocar até todas…

:okok:

J

“marcossousa”:
opa,

você pode colocar até todas…

:okok:

Olá marcos ,
tentei colocar três chaves primárias
na minha tabela mas o mysql não aceitou.

como faço isso ?

segue o meu sql:

CREATE TABLE dbCadastro (
id INT(255) NOT NULL auto_increment,
nome varchar(255) DEFAULT NULL,
sobrenome varchar(255) DEFAULT NULL,
email varchar(255) DEFAULT NULL ,
telefone varchar(255) DEFAULT NULL,
endereco varchar(255) DEFAULT NULL,
bairro varchar(255) DEFAULT NULL,
cidade varchar(255) DEFAULT NULL,
estado varchar(255) DEFAULT NULL,
login varchar(255) DEFAULT NULL,
senha varchar(255) DEFAULT NULL,
mostraremail varchar(255) DEFAULT NULL,
notificacao varchar(255) DEFAULT NULL,
informativos varchar(255) DEFAULT NULL,
dataCadastrol TIMESTAMP ,

PRIMARY KEY (id) )

TYPE=InnoDB CHARSET=latin1;

M

Opa,

Tópico movido por se tratar Banco de dados…

Bem para você criar mais de uma chave primária você usa o comando:

:okok:

J

“marcossousa”:
Opa,

Tópico movido por se tratar Banco de dados…

Bem para você criar mais de uma chave primária você usa o comando:

:okok:

Muito bom cara,valeu e muito obrigado mesmo!

W

Acho que desse jeito não vai funcionar pois ele vai considerar como única a combinação de todos os campos. Me parece que o correto é criar índices únicos adicionais. Não sei a sintaxe específica do seu banco, mas deve ser alguma coisa assim:

create unique index nome_indice(campo1)


Walter

M

Opa,

nossa, eu nem vi… funciona assim:

UNIQUE KEY `login` (`login`), UNIQUE KEY `email` (`login`), UNIQUE KEY `id` (`id`)

:okok:

J

“marcossousa”:
Opa,

nossa, eu nem vi… funciona assim:

UNIQUE KEY `login` (`login`), UNIQUE KEY `email` (`login`), UNIQUE KEY `id` (`id`)

:okok:

ficaria ssim ,estou certo ?


CREATE TABLE dbCadastro2 (
id INT(255) NOT NULL auto_increment,
nome varchar(255) DEFAULT NULL,
sobrenome varchar(255) DEFAULT NULL,
email varchar(255) DEFAULT NULL ,
telefone varchar(255) DEFAULT NULL,
endereco varchar(255) DEFAULT NULL,
bairro varchar(255) DEFAULT NULL,
cidade varchar(255) DEFAULT NULL,
estado varchar(255) DEFAULT NULL,
login varchar(255) DEFAULT NULL,
senha varchar(255) DEFAULT NULL,
mostraremail varchar(255) DEFAULT NULL,
notificacao varchar(255) DEFAULT NULL,
informativos varchar(255) DEFAULT NULL,
dataCadastrol TIMESTAMP ,

UNIQUE KEY id (id),
UNIQUE KEY login (login),
UNIQUE KEY email (email) )

TYPE=InnoDB CHARSET=latin1;

M

E não deu certo não?

:okok:

Criado 5 de julho de 2006
Ultima resposta 8 de jul. de 2006
Respostas 10
Participantes 3