Ir para conteúdo
Fórum Script Brasil
  • 0

Commit - Várias Dúvidas


Guest - Tiago -

Pergunta

Guest - Tiago -

Estive em uma empresa e o entrevistador me perguntou se utilizava commit no meu código para as transações. Neste momento perdi a fala e o céu caiu... porque nunca me preocupei com isto. No máximo a minha preocupação com alterações no banco de dados se restringia a inserir um or die("erro ao tentar gravar o registro").

Aí pesquisei sobre o assunto aqui no forum e me pareceu que o commit realmente não é muito utilizado. Encontrei também um mysqli, nem sabia que existia.

Então as minhas dúvidas são as seguintes:

1 - Digamos por exemplo uma queda de energia (ou uma outra falha qualquer) no momento em que ocorre um update no banco de dados. Não dá para saber se gravou ou não. Como utilizar o commit??

2 - Para utilizar o commit, pelo o que entendi do manual, devo utilizar mysqli, então pergunto, se devo utilizar mysqli em todo momento, inclusive na hora de me conectar ao banco de dados, ou posso mesclar, utilizando mysql para conectar e mysqli para realizar os updates e demais acessos ao banco de dados.

Peguei um exemplo no manual do mysqli:

/* Insert some values */
mysqli_query($link, "INSERT INTO Language VALUES ('DEU', 'Bavarian', 'F', 11.2)");
mysqli_query($link, "INSERT INTO Language VALUES ('DEU', 'Swabian', 'F', 9.4)");

/* commit transaction */
mysqli_commit($link);

Bem, confesso que não entendi uma funcionalidade maior neste commit, porque se ocorrer a tal queda de energia ou outro fator que venha a afetar o update, como que fico sabendo se gravou tudo certo ou não?? A linha do exemplo acima mysqli_commit($link); não me parece dizer muita coisa...

Bem, enfim, se alguém tiver aí algumas instruções, dicas, material sobre este assunto, agradeço...

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

MySql Commit?

existe sim...

olha no site do mysql...

de padraum ele funciona em auto-commit mas você pode fazer isso manual se quizer!

Link para o comentário
Compartilhar em outros sites

  • 0

Claro meu amigo...

Funciona assim isso é um controle de transação...

se a transação correu todu ok ele dá um commit ou seja dá um io fisico na tabela e garante que os dados saum gravados com segurança. Se não você pode dar um roll back e desfazer a transação voltando ao estado original. Se você grava um dado e nau mda um commit ele não grava somente faz o io logico(grava na memoria) ... mas não salva na tabela. Para isso que serve o Commit. Mas o mysql... de Padraum funciona com auto-commit.

mais informações...

http://dev.mysql.com/doc/mysql/en/commit.html

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...