ITPub博客

首页 > IT职业 > IT职场 > 如何将MySQL的两个表名对调

如何将MySQL的两个表名对调

IT职场 作者:ppdlc 时间:2021-09-09 10:11:25 0 删除 编辑

前言

前段实践遇到个问题,在类似pt-osc场景下,需要将两个表名对调,怎么才能确保万无一失呢?

分析

一些人可能就会想,表名对掉还不简单吗,相互RENAME一下嘛。

但是,我们想要的是同时完成表名对调,如果是先后的对掉,可能会导致有些数据写入失败,那怎么办?

解决

其实也不难,从MySQL手册里就能找到方法,那就是:同时锁定2个表,不允许写入,然后对调表名。

我们通常只锁一个表,那么同时锁两个表应该怎么做呢,可以用下面的方法:

?

12345 LOCK TABLES t1 WRITE, t2 WRITE;ALTER TABLE t1 RENAME TO t3;ALTER TABLE t2 RENAME TO t1;ALTER TABLE t3 RENAME TO t2;UNLOCK TABLES;

看到了吧,其实很简单,两个表同时加表级写锁,然后用ALTER语法改名就可以了。

以上就是如何将MySQL的两个表名对调的全部内容,希望本文对大家在MySQL的使用中有所帮助。

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/1812/viewspace-2817786/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: JDK动态代理
下一篇: Kafka 1.0版本发布
请登录后发表评论 登录
全部评论

注册时间:2019-04-15

  • 博文量
    105
  • 访问量
    694