https://dev.mysql.com/doc/refman /5.1/pl/truncate-table.html
Zgodnie z tym adresem URL, od MySQL 5.1.32, TRUNCATE TABLE to DDL, a NIE DML jak DELETE. Oznacza to, że TRUNCATE TABLE spowoduje niejawne COMMIT w środku bloku transakcyjnego. Użyj więc DELETE FROM na stole, który musisz opróżnić zamiast TRUNCATE TABLE .
Nawet DELETE FROM tblname; można wycofać. Przywrócenie może zająć trochę czasu, więc upewnij się, że InnoDB jest odpowiednio dostrojony do obsługi czasu transakcji dla takich możliwości wycofania.