Usando transações com MySQL
Dica publicada em Banco de Dados / MySQL
Usando transações com MySQL
No MySQL nem todos os tipos de tabelas têm suporte a transações.
Os tipos BDB e InnoDB tem esse suporte.
Verifique se no seu arquivo de configuração my.cnf eles estão dasabilitados.
Verifique se no seu arquivo de configuração my.cnf eles estão dasabilitados.
skip-bdb
skip-innodb
skip-innodb
Coloque um comentário no tipo que você vai usar. No nosso exemplo InnoDB. Se estiver habilitado tudo ok, senão, reinicie o servidor depois de modificar.
# /etc/init.d/mysql restart
Digite os comandos no console:
mysq -u root -p (ou o usuário que estiver usando)
mysql> use test;
mysql> create table tran_test (a int, b int) type = InnoDB;
mysql> begin;
mysql> insert into tran_test (a,b) values (1,2);
mysql> select * from tran_test;
+------+------+
| a | b |
+------+------+
| 1 | 2 |
+------+------+
1 row in set (0.00 sec)
mysql> rollback;
mysql> select * from tran_test;
select * from tran_test;
Empty set (0.00 sec)
O comando rollback desfaz as alterações no banco e commit as salva.
Versão do MySQL usada na dica: 4.0.24
Distro utilizada: Ubuntu 5.10
[]'s