Baixe o app para aproveitar ainda mais
Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original
* * BANCO DE DADOS Gerenciamento de Transações * * Transação “Uma transação é uma unidade da execução de programa que acessa e possivelmente atualiza vários itens de dados.” Silberschatz (2006). * * Transação Por padrão, MySQL é executado em modo autocommit. Isto significa que assim que você executa uma instrução que atualiza (modifica) uma tabela, o MySQL armazena a atualização no disco. Se você estiver usando tabelas com segurança a transação (como InnoDB), você pode colocar o MySQL em modo não autocommit com o seguinte comando: SET AUTOCOMMIT=0 * * Transação Depois de desabilitar o modo autocommit configurando a variável AUTOCOMMIT com zero, você deve utilizar COMMIT para armazenar suas alterações em disco ou ROLLBACK se você deseja ignorar as alterações que você fez desde o início da sua transação. * * Transação SET autocommit=0; INSERT INTO paciente VALUES (6,"Julyana",8,"Dengue"); SELECT * FROM paciente p; ROLLBACK; SELECT * FROM paciente p; INSERT INTO paciente VALUES (7,"Miguel",35,"Acnes"); COMMIT; ROLLBACK; SELECT * FROM paciente p; * * Transação - Script Se você quiser disabilitar o modo autocommit para uma única série de instruções, você pode utilizar a instrução START TRANSACTION * * Transação - Script set autocommit=0; SELECT count(codfun) into @A FROM funcionario WHERE codfun>30; UPDATE tabela1 SET valor=@A WHERE data_atualizacao<curdate(); UPDATE tabela1 SET data_atualizacao=curdate(); COMMIT; rollback; SELECT * FROM tabela1 t; * * Transação em PHP $res1 = db_res("SELECT c1, c2 FROM t1 WHERE c5 = 3"); $res2 = db_res("UPDATE t2 SET c1 = 5 WHERE c2 = 10"); $res3 = db_res("DELETE FROM t3 WHERE c1 = 20"); if( $res1 && $res2 && $res3 ) { //commit --- but how? } else { //rollback --- but how? } * * Transação Uma transação precisa ver um banco de dados consistente. Durante a execução da transação, o banco de dados pode ser temporariamente inconsistente. Quando a transação é completada com sucesso (é confirmada), o banco de dados precisa ser consistente. * * Transação Após a confirmação da transação, as mudanças que ele faz no banco de dados persistem. Várias transações podem ser executadas em paralelo. Dois problemas principais para resolver: Falhas de vários tipos, como falhas de hardware e falhas de sistema Execução simultânea de múltiplas transações * * * * * * * * * *
Compartilhar