| 您的当前位置:首页 --> MYSQL教程 --> 如何将MySQL的两个表名对调 |
| MYSQL教程 如何将MySQL的两个表名对调 |
| 浏览次数:885 关键词 ( ) |
| 查看使用该CPU的产品 查看CPU天梯 |
| CPU型号:如何将MySQL的两个表名对调 |
| 主频:Ghz |
| 睿频:Ghz |
| 核心数:个 |
| 不支持超核心 |
| 制作工艺: |
| 插槽类型: |
| 功耗:0W |
| L3缓存:0MB |
| 支持最大内存: 0GB |
| CPU详细参数 |
|
前言 前段实践遇到个问题,在类似pt-osc场景下,需要将两个表名对调,怎么才能确保万无一失呢? 分析 一些人可能就会想,表名对掉还不简单吗,相互RENAME一下嘛。 但是,我们想要的是同时完成表名对调,如果是先后的对掉,可能会导致有些数据写入失败,那怎么办? 解决 其实也不难,从MySQL手册里就能找到方法,那就是:同时锁定2个表,不允许写入,然后对调表名。 我们通常只锁一个表,那么同时锁两个表应该怎么做呢,可以用下面的方法: 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的使用中有所帮助。 |
| 下一个产品 SQL计算timestamp的差值的方法 上一个产品 Linux上通过binlog文件恢复mysql数据库详细步骤 |