Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

MySQL:Truncar tabela dentro da transação?


http://dev.mysql.com/doc/refman /5.1/en/truncate-table.html

De acordo com este URL, a partir do MySQL 5.1.32, TRUNCATE TABLE é DDL e NÃO DML como DELETE. Isso significa que TRUNCATE TABLE causará um COMMIT implícito no meio de um bloco de transação. Então, use DELETE FROM em uma tabela você precisa esvaziar em vez de TRUNCATE TABLE .

Mesmo DELETE FROM tblname; pode ser revertido. Pode demorar um pouco para reverter, portanto, certifique-se de que o InnoDB esteja ajustado corretamente para lidar com o tempo de transação para tais possibilidades de reversão.