假设我们有两个表new
和current
(都是innodb)。 我们应该自动截断current
表内容并填写new
表中的新内容。如何交换两个表已创建的转换表名称?
可能方式:
- 交换表名
RENAME TABLE
,但它不能帮助,因为这两个表已创建 - 开始交易;截断表
current
表;插入current
从new
中选择;提交事务 - 没关系,但是能否以跨行的方式进行所有这些操作? - 创建飞第三个表,并使用它像一座桥梁
什么是最好的做法是什么?
UPD:我想这将很好地工作:RENAME TABLE current TO xxx, new TO current; xxx TO new
有两张桌子摆在首位的原因是什么? - 你在这里还谈论了多少数据? – Steve 2013-03-20 10:49:56
@Steve,数据不是太多。大约50-100K行的5-10个int字段。 – Kirzilla 2013-03-20 10:52:11