我需要暂时重命名一个表。这个表一直有插入。所以我的想法是锁定表格进行写入和读取,然后刷新所有可能的挂起插入,然后重命名表格,做一些事情,重新命名表格并解锁它以便它可以再次使用。
应该采取哪些步骤来实现(或尽可能接近)任务?
谢谢!
答案 0 :(得分:0)
好的,想通了。
lock tables sometable write;
flush tables sometable;
unlock tables; rename table `sometable` to `sometable_locked`;
-- do something useful
rename table `sometable_locked` to `sometable`;
或者
lock tables sometable write;
flush tables sometable;
alter table `sometable` rename to `sometable_locked`;
-- do something useful
unlock tables; alter table `sometable_locked` rename to `sometable`;