Mysql
 sql >> Datenbank >  >> RDS >> Mysql

MySQL:Tabelle innerhalb der Transaktion abschneiden?

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

Gemäß dieser URL, ab MySQL 5.1.32, TRUNCATE TABLE ist DDL und NICHT DML wie DELETE. Das bedeutet, dass TRUNCATE TABLE führt zu einem impliziten COMMIT in der Mitte eines Transaktionsblocks. Verwenden Sie also DELETE FROM bei einer Tabelle müssen Sie statt TRUNCATE TABLE leeren .

Sogar DELETE FROM tblname; kann zurückgerollt werden. Das Rollback kann eine Weile dauern, stellen Sie also sicher, dass InnoDB richtig eingestellt ist, um die Transaktionszeit für solche Rollback-Möglichkeiten zu bewältigen.