Jump to content
cmd

Impedir dados duplicados

Recommended Posts

brunoais

Eu sei várias. Cda uma para cada caso.


"[Os jovens da actual geração]não lêem porque não envolve um telecomando que dê para mirar e atirar, não falam porque a trapalhice é rainha e o calão é rei" autor: thoga31

Life is a genetically transmitted disease, induced by sex, with death rate of 100%.

Share this post


Link to post
Share on other sites
simonoop

Elabora. Não estás a dizer que dados são. Também não estás a dizer onde é que esses dados não podem ficar duplicados!

Presumo que fales de base de dados relacional?

Share this post


Link to post
Share on other sites
ruimcosta

Biba,

Vou adiantar-me. Partindo do pressuposto que queres impedir registos repetidos numa base de dados, podes começar com o php:

-  Fazeres um select e verificares, antes de guardar o registo, se ele já existe;

- Em mysql, podes adicionar uma chave ao campo desta forma.

ALTER IGNORE TABLE emails ADD UNIQUE INDEX(email);


Abraços e beijinhos,Rui Costa

Share this post


Link to post
Share on other sites
cmd

Boas,

O que eu queria era impedir os registos duplicados na coluna da chave primária, por exemplo, a chave primária é o nr_bi e tendo um registo com o valor "111" ao tentar adicionar um novo registo com o mesmo valor teria um código de php para verificar se o registo já existe, só que não sei qual o código php a fazer.

Poderiam me ajudar?


Cumps.cmd

Share this post


Link to post
Share on other sites
ruimcosta

Se tiveres tudo bem feito no campo chave primária, tenta inserir directamente na base de dados um registo com igual valor nesse campo. Chave primária é exactamente para não permitir a inserção de valores vazios ou nulos e para impedir a sua duplicação.


Abraços e beijinhos,Rui Costa

Share this post


Link to post
Share on other sites
fantasma

cmd, uma chave primária tem de ser única, por isso não pressupõe duplicados.

A maneira que eu utilizaria era fazer um query à base de dados do género

if(mysql_num_rows(mysql_query("SELECT num_bi FROM tabela WHERE num_bi = '$_POST['$num_bi'"))) //POST porque suponho que os dados vêm de um formulário

{

CODIGO DE VERIFICAÇÃO

}

Se o registo existir, vai retornar TRUE, senão retorna FALSE.

Abraço,

Share this post


Link to post
Share on other sites
cmd

Boas,

Sim eu sei que a chave primária é para isso mesmo, que só pode haver uma igual, mas se eu tentar introduzir outra chave igual dá-me erro de SQL o que eu queria era mostrar um aviso no próprio site php


Cumps.cmd

Share this post


Link to post
Share on other sites
fantasma

Vou-me citar a mim próprio lol.

cmd, uma chave primária tem de ser única, por isso não pressupõe duplicados.

A maneira que eu utilizaria era fazer um query à base de dados do género

if(mysql_num_rows(mysql_query("SELECT num_bi FROM tabela WHERE num_bi = '$_POST['$num_bi'"))) //POST porque suponho que os dados vêm de um formulário

{

CODIGO DE VERIFICAÇÃO

}

Se o registo existir, vai retornar TRUE, senão retorna FALSE.

Abraço,

Alguma duvida, posta! :thumbsup:

Share this post


Link to post
Share on other sites
brunoais

"[Os jovens da actual geração]não lêem porque não envolve um telecomando que dê para mirar e atirar, não falam porque a trapalhice é rainha e o calão é rei" autor: thoga31

Life is a genetically transmitted disease, induced by sex, with death rate of 100%.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.