如何将MySQL的两个表名对调

 更新时间:2016年08月10日 14:40:02   投稿:daisy  
本文介绍怎么将MySQL的两个表名调换,这个办法更能确保更换的安全,不出其他的问题,有需要的可以参考下。

前言

前段实践遇到个问题,在类似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的使用中有所帮助。

相关文章

  • mysql 优化日记

    mysql 优化日记

    mysql 优化日记 使用mysql的朋友可以参考下,大家知道如果mysql优化与没优化性能会相差不少呢。
    2009-07-07
  • 安装使用Percona XtraBackup来备份恢复MySQL的教程

    安装使用Percona XtraBackup来备份恢复MySQL的教程

    这篇文章主要介绍了安装使用Percona XtraBackup来备份恢复MySQL的教程,文中的示例环境基于CentOS系统,需要的朋友可以参考下
    2015-12-12
  • MySQL 触发器定义与用法简单实例

    MySQL 触发器定义与用法简单实例

    这篇文章主要介绍了MySQL 触发器定义与用法,结合简单实例形式总结分析了mysql触发器的语法、原理、定义及使用方法,需要的朋友可以参考下
    2019-09-09
  • 详解数据库_MySQL: mysql函数

    详解数据库_MySQL: mysql函数

    这篇文章主要介绍了数据库_MySQL: mysql函数,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-03-03
  • Mysql存储引擎MyISAM的常见问题(表损坏、无法访问、磁盘空间不足)

    Mysql存储引擎MyISAM的常见问题(表损坏、无法访问、磁盘空间不足)

    这篇文章主要介绍了Mysql存储引擎MyISAM的常见问题,针对表损坏、无法访问、磁盘空间不足等问题进行解决,感兴趣的小伙伴们可以参考一下
    2016-05-05
  • MySql 5.7.14 解压版安装步骤详解

    MySql 5.7.14 解压版安装步骤详解

    本文给大家介绍MySql 5.7.14 解压版安装步骤详解,本文介绍的非常详细,具有参考借鉴价值,感兴趣的朋友一起看下吧
    2016-08-08
  • MySQL主备操作以及原理详解

    MySQL主备操作以及原理详解

    本文主要介绍了MySQL主备操作以及原理详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-04-04
  • workerman写mysql连接池的实例代码

    workerman写mysql连接池的实例代码

    在本篇文章中小编给大家分享的是一篇关于workerman写mysql连接池的实例代码内容,有需要的朋友们可以参考下。
    2020-01-01
  • MySQL8.0实现窗口函数计算同比环比

    MySQL8.0实现窗口函数计算同比环比

    本文主要介绍了MySQL8.0实现窗口函数计算同比环比,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-06-06
  • MySQL忘记密码恢复密码的实现方法

    MySQL忘记密码恢复密码的实现方法

    流传较广的方法,mysql中文参考手册上的,各位vps主机租用客户和服务器托管用户忘记mysql5.1管理员密码时,可以使用这种方法破解下
    2008-07-07

最新评论