如何将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 生成连续日期及变量赋值的相关资料,分享内容及代码详细,具有一的参考价值,需要的小伙伴可以参考一下
    2022-03-03
  • 解决mysql数据库设置远程连接权限执行grant all privileges on *.* to 'root'@'%' identified by '密码' with grant optio报错

    解决mysql数据库设置远程连接权限执行grant all privileges on&n

    这篇文章主要介绍了解决mysql数据库设置远程连接权限执行grant all privileges on *.* to 'root'@'%' identified by '密码' with grant optio报错,通过本文给大家分享问题原因解析及解决方法,需要的朋友可以参考下
    2022-11-11
  • MYSQL神秘的HANDLER命令与实现方法

    MYSQL神秘的HANDLER命令与实现方法

    这篇文章主要介绍了MYSQL神秘的HANDLER命令与实现方法,需要的朋友可以参考下
    2016-07-07
  • MySQL一些常用高级SQL语句

    MySQL一些常用高级SQL语句

    对 MySQL 数据库的查询,除了基本的查询外,有时候需要对查询的结果集进行处理。例如只取 10 条数据、对查询结果进行排序或分组等等,今天就给大家分享MySQL一些常用高级SQL语句,感兴趣的朋友一起看看吧
    2021-07-07
  • mysql跨服务查询之FEDERATED存储引擎的实现

    mysql跨服务查询之FEDERATED存储引擎的实现

    本文主要介绍了mysql跨服务查询之FEDERATED存储引擎的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-01-01
  • 关于MySQL中“Insert into select“ 的死锁情况分析

    关于MySQL中“Insert into select“ 的死锁情况分析

    这篇文章主要介绍了关于MySQL中“Insert into select“ 的死锁情况分析,死锁是指两个或者多个事务在同一资源上的相互占用,并请求锁定对方占用的资源,从而导致恶性循环的现象,需要的朋友可以参考下
    2023-05-05
  • 关于InnoDB索引的底层实现和实际效果

    关于InnoDB索引的底层实现和实际效果

    这篇文章主要介绍了关于InnoDB索引的底层实现和实际效果,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-12-12
  • MySQL如何实现两张表取差集

    MySQL如何实现两张表取差集

    这篇文章主要介绍了MySQL如何实现两张表取差集问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-02-02
  • mysql升级到5.7时,wordpress导数据报错1067的问题

    mysql升级到5.7时,wordpress导数据报错1067的问题

    小编最近把mysql升级到5.7了,wordpress导数据报错,导入数据库时报1067 – Invalid default value for ‘字段名’的问题,怎么解决这个问题,下面小编把我的解决方案分享到脚本之家平台供大家参考,希望对大家有所帮助
    2021-05-05
  • MySQL之join查询优化方式

    MySQL之join查询优化方式

    这篇文章主要介绍了MySQL之join查询优化方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-03-03

最新评论