[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