|
|||||||
| Wiki | Classificados | Galeria | Reviews | Jogos | Comunidades | RSS Feeds | FAQ | Termos de Uso | Sobre |
| Cadastre-se | Fotos | Blogs | Lista de Membros | Calendário | Pesquisar | Mensagens de Hoje | Marcar Fóruns Como Lidos |
FerramentasPublicidade |
From UnderLinux WikiInstalando o MySQL no Slackware
[editar] IntroduçãoTransações, são seqüências de operações que são executadas após um delimitador e finalizadas após outro delimitador. No caso do Mysql, nosso delimitador de inicio é o comando start transaction, e o delimitador de fim de transação pode ser commit ou rollback. No mysql o tipo de tabela que dá suporte a transações é o InnoDB. Por default o mysql cria tablelas do tipo MYISA, logo, se você quiser ativar o suporte a transações, será necessário realizar a conversão dos tipos da tabela, do tipo padrão para o InnoDb e/ou criá-las e especificar otipo desejado. O tipo MYISAM utiliza três arquivos para cada tabela:
Arquivo *.frm Logo, após aconversão, existirá apenas um arquiovo *.frm para cada tabela. [editar] Criação das tabelasPrimeiramente, vamos realizar a criação de uma tabela InnoDB: mysql> create table teste (teste_id int(2), teste_nome varchar(10)) type=innodb; Query OK, 0 rows affected (1.15 sec) Observe que adicionamos a nossa estrutura de criação o parâmetro type=innodb. Vamos realizar agora a conversão de uma tabela: mysql> create table teste1 (teste_id int(2), teste_nome varchar(10)); Query OK, 0 rows affected (0.13 sec) Criamos a tabela teste1 com o tipo MYISA (default), mysql> alter table teste1 type=innodb; Query OK, 0 rowsaffected (0.38 sec) Records: 0 Duplicates: 0 Warnings: 0 </pre> Através do comando alter, trocamos o tipo da tabela para InnoDB. Pronto, agora nossas tabelas já possuem suporte a transações. [editar] Iniciando uma transaçãoVamos agora inicar uma transação. O mysql por default,trabalha no modo de autocommit, isso significa que sempre que você executa um comando, ele é imediatamente executado/gravado no banco. Seja ele certo ou errado. Para iniciarmos uma transação, temos que desabilitar o autocommit, pelo menos para aquela instância da transação. mysql> set autocommit=0; Query OK, 0 rows affected (0.02 sec) Vamos inicar nossa trasação: mysql> start transaction; Query OK, 0 rows affected (0.02 sec) --> Comandos SQL --> Comandos SQL --> Comandos SQL --> Comandos SQL Ao terminar, se estiver satisfeito com os comandos acima, basta entrar com o comando commit que os resultados dos sql acima serão gravados no banco e disponibilizado para todos. mysql> commit; Caso o resultado acima tenha apresentado erro, ou não seja satisfatório, basta executar um rollback e todos os comandos digitados após o start transaction serão desconsiderados. mysql> rollback; Conforme o explicado acima, conseguimos implementar as transações, da mesma forma que outros Banco de Dados comerciais utilizam. Com isso trazemos maior segurança e escalabilidade para nossas aplicações, utilizando um banco de dados open source. [editar] Observações
[editar] AgradecimentosAgradeço ao amigo Wolbert Kenossy pela ajuda na redação deste material.
Frederico Madeira |