O comando COMMIT pertence à categoria TCL (Transaction Control Language) e é utilizado para confirmar definitivamente as alterações realizadas em uma transação.
Após executar o COMMIT, as modificações ficam permanentes no banco de dados.
COMMIT;
START TRANSACTION;
INSERT INTO clientes
(nome, cidade)
VALUES
('Maria', 'São Paulo');
COMMIT;
Após o COMMIT, o novo cliente permanece salvo no banco.
START TRANSACTION;
UPDATE produtos
SET preco = 150
WHERE id = 10;
COMMIT;
A alteração do preço será confirmada.
START TRANSACTION;
DELETE FROM clientes
WHERE id = 5;
COMMIT;
O registro será removido definitivamente.
| COMMIT | ROLLBACK |
|---|---|
| Confirma alterações | Desfaz alterações |
| Torna dados permanentes | Retorna ao estado anterior |
| Usado quando tudo está correto | Usado quando ocorre erro |
O MySQL possui o modo AUTOCOMMIT ativado por padrão.
SELECT @@autocommit;
Quando está ativado, cada comando INSERT, UPDATE ou DELETE é confirmado automaticamente.
SET autocommit = 0;
Agora será necessário utilizar COMMIT manualmente.
SET autocommit = 1;
| Sistema | Exemplo |
|---|---|
| Banco | Finalização de transferência |
| E-commerce | Confirmação da compra |
| ERP | Atualização de estoque |
| Hospital | Registro de atendimento |
| Erro | Problema |
|---|---|
| Executar COMMIT sem validar | Alteração incorreta salva |
| Esquecer COMMIT | Dados podem não ser gravados |
| Usar AUTOCOMMIT sem controle | Perda de segurança |
| Confirmar transações incompletas | Dados inconsistentes |