Yet another alternative:
- RENAME TABLE
- CREATE TABLE ... LIKE <renamed-table>
- INSERT INTO ... SELECT * FROM <renamed-table>
- DROP <renamed-table>
You will have to take care of constraints, however.
A problem may be that the INSERT will be logged. You can use NOT LOGGED INITIALLY in that case, or export/load (import will be logged, too!)