[Notas do MYSQL] Usando transações

Motor de armazenamento:

As funções do MYSQL são divididas em dois tipos:

Um: conecte o cliente e verifique o conteúdo da instrução SQL com antecedência, ou seja, a parte de primeiro plano

Dois: De acordo com as instruções da parte de primeiro plano, complete as funções de consulta e operação de arquivo, ou seja, a parte de segundo plano. Essa parte de back-end é chamada de mecanismo de armazenamento.

Tipos de mecanismos de armazenamento:

MYSQL pré-configura vários mecanismos de armazenamento, os usuários podem escolher de acordo com a finalidade de uso e preferência pessoal. A existência de mecanismos independentes entre si e que permitem aos usuários escolher de forma independente é a característica do MYSQL.

O mecanismo InnoDB é usado por padrão. Mas em versões até MYSQL5.4, o mecanismo de armazenamento padrão é MyISAM. Embora o MyISAM fosse mais rápido que o InnoDB na época, infelizmente ele não suportava transações.

Mas agora a velocidade de processamento do InnoDB também se tornou rápida, então não precisamos usar o MyISAM.

Confirme o mecanismo de armazenamento:

show create table tb;

Podemos confirmar o mecanismo de armazenamento na seção ENGINE=XX.

Ao criar uma tabela, se nenhum mecanismo de armazenamento for especificado, o InnoDB padrão será selecionado.

Modifique o mecanismo de armazenamento:

Exemplo: Altere o mecanismo de armazenamento da tabela tb de InnoDB para MyISAM

alter table tb engine=MyISAM;

Transações: A capacidade de processar várias operações como uma única unidade lógica de trabalho é chamada de transação.

A operação de refletir o resultado do processamento após o início da transação no banco de dados é chamada de confirmação.

Uma operação que não é refletida no banco de dados, mas é restaurada ao seu estado original, é chamada de reversão.

Exemplo: Em uma conta bancária, as operações de dedução de 100.000 yuans e adição de 100.000 yuans devem ser tratadas como um todo inseparável.

Se a operação de adição de 100.000 yuan falhar, a operação de dedução de 100.000 yuan também deve ser cancelada.

Transação aberta:

start transaction;
delete from tb;
rollback;

Depois que a tabela é eliminada, ela é revertida (restaurada) e os registros excluídos podem ser restaurados.

Quando uma reversão é executada, a transação é fechada.

No exemplo acima, se o commit for executado em vez do rollback, os registros excluídos serão confirmados e todos os registros serão excluídos pelos registros do usuário.

Função de auto-commit: Executa comandos em MYSQL e o processamento geralmente é enviado diretamente. Ou seja, todos os comandos COMMIT automaticamente.

Por padrão, o autocommit está ativado. No entanto, quando o mecanismo de armazenamento é INNODB, se a transação inicial for executada, ela não será confirmada antes que o comando de confirmação seja executado.

Os usuários podem forçar a desativação do autocommit. Se a função auto-commit estiver desativada, mesmo que a instrução SQL seja executada, ela não será confirmada automaticamente, devendo ser confirmada por COMMIT ou restaurada por rollback.

Desative o autocommit:

set autocommit=0;

Para habilitar o envio automático:

set autocommit=1;

Escopo de uso das transações:

Depois que uma transação é iniciada, nem todas as operações podem ser recuperadas por reversão.

As seguintes operações serão enviadas automaticamente

 

 

 

Acho que você gosta

Origin blog.csdn.net/m0_52043808/article/details/124235274
Recomendado
Clasificación