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

Transações com PHP


brgomes

Pergunta

Pessoal, boa tarde!

Imaginem a seguinte situação: um sistema php multiusuário trabalha juntamente com um banco de dados SQL Server. O usuário X e o usuário Y estão conectados ao sistema. O usuário X está inserindo informações no sistema.

Durante vários INSERTs do usuário X, que durou em torno de 10 segundos, o usuário Y executou um INSERT. Só que um dos INSERTs do usuário X deu um erro e o sistema executou um ROLLBACK, anulando todos os INSERTs.

A pergunta é: as informações inseridas pelo usuário Y também serão perdidas, ou somente as informações inseridas pelo usuário X, sendo que o usuário de conexão ao banco é único no sistema PHP?

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

Bom ai você já esta entrando em transações,

roll back nas açoes do usuario x e y olhe o porque nos links abaixo

http://imasters.uol.com.br/artigo/3753/sql...ks_e_deadlocks/

http://imasters.uol.com.br/artigo/224/sql_..._no_sql_server/

se o usuario x e y fossem usuarios do banco e não do sistema iria ser dado roll back so no primeiro

e lembre que o banco faz uma coisa de cada vez, nunca faria 2 coisas ao mesmo tempo.

espero ter ajudado.

Link para o comentário
Compartilhar em outros sites

  • 0
Bom ai você já esta entrando em transações,

roll back nas açoes do usuario x e y olhe o porque nos links abaixo

http://imasters.uol.com.br/artigo/3753/sql...ks_e_deadlocks/

http://imasters.uol.com.br/artigo/224/sql_..._no_sql_server/

se o usuario x e y fossem usuarios do banco e não do sistema iria ser dado roll back so no primeiro

e lembre que o banco faz uma coisa de cada vez, nunca faria 2 coisas ao mesmo tempo.

espero ter ajudado.

Bom dia, samirbh. E obrigado pela resposta.

Então quer dizer que nesses casos o banco aguarda o término dos INSERTs do usuário X para depois executar os INSERTs do usuário Y?

Daí o rollback anularia os INSERTs somente do usuário X, né?

Link para o comentário
Compartilhar em outros sites

  • 0

opa dei um mole no post acima.

cada processo e como se fosse uma tela igual a video aula(merlhor descrevendo entrada de dados distintas)

e assim o roll back seria apenas na primeira pois o sql tem um mecanismo de tudo que ele faz ele cria uma transação(interna) e assim ele prende o registro enquanto faz a operação independente daqueles comandos da video aula.

no nivel do seu sistema ele vai primeiro terminar x pra depois fazer y como uma fila no seu caso anulando apena as instruçoes de x.

ok?

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,2k
    • Posts
      651,9k
×
×
  • Criar Novo...