[Cascavel-pm] Res: Res: Duvida $dbh->prepare
Gilmar Santos Jr
gilmarjr em dcc.ufba.br
Sexta Janeiro 26 07:05:10 PST 2007
Patty Silva escreveu:
> Esta ai pessoal...... uma coisa que nunca coloco nos meus porgramas
> quando busco no BANCO eh o $sth2->commit; ??? eh necessario??? pra
> q serve??
Patty, geralmente há grupos de operações que desejamos que ou aconteçam
completamente ou não aconteçam, pois se acontecerem pela metade deixa o
banco inconsistente. Então temos o conceito de "transaction". Essa
operações são feitas dentro de transactions e quando está tudo OK tá na
hora de confirmar isso e colocar no disco. Pra isso o "commit".
Na conexão com o banco você pode especificar a opção "AutoCommit":
my $dbh = DBI->connect($dsn, $user, $pass, { AutoCommit => 0});
Pra o MySQL (e tenho quase certeza que para todos os bancos) se você não
especificar nada o padrão é 1, ou seja, cada operação é executada de
fato e as mudanças que ela causa são permanentes. A depender do seu uso
você vai querer que as coisas funcionem assim, ou não.
[]'s
Gilmar
Mais detalhes sobre a lista de discussão Cascavel-pm