[Cascavel-pm] Como verificar se um registro já existe antes de inserir no banco? - RESOLVIDO

Murilo Opsfelder Araújo mopsfelder em gmail.com
Terça Outubro 24 07:42:07 PDT 2006


On 10/24/06, Luis Motta Campos <luismottacampos em yahoo.co.uk> wrote:
>   Ajuda em nada. Você está programando perl, certo?
>   Certifique-se de que a sua base de dados tem /constraints/
> decentemente implementadas para garantir que os dados não podem ser
> inseridos duplicados (chaves primárias e índices /unique/ são
> /constraints/, caso você não saiba).
>
>   Depois, documente muito bem o uso que você faz das constraints no seu
> código.
>
>   Finalmente, use a solução proposta pelo Igor S. Lopes, no outro email.
> É a mais interessante. Não ligue para a verificação, insira a linha e
> trate corretamente os erros que vão aparecer eventualmente.

Não sei se fiz da melhor forma possível :) Mas funcionou como eu
queria: não deixa inserir registros repetidos no banco.

### Cut Here ###
# prepara SQL
$sth = $dbh->prepare( $mySQL );

# executa SQL
$sth->execute;

# obtem quantidade de registros ja existentes
$numRows = $sth->rows;
$sth->finish;

if ($numRows >= 1) {
   # se entrar aqui eh pq ja existe um ou mais registros no banco
} else {
   # senao pode ser adicionado um novo registro :)
}
### Cut Here ###

Abraço à todos e muitíssimo obrigado pela ajuda.


-- 
Murilo Opsfelder Araújo
Linux User #391561
./murilo --opsfelder='araujo'


Mais detalhes sobre a lista de discussão Cascavel-pm