首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MySQL合并存储引擎

问MySQL合并存储引擎
EN

Stack Overflow用户
提问于 2010-12-29 00:03:13
回答 1查看 1.6K关注 0票数 4

我正在mysql中设置一个引擎类型为merge的表,我想知道是否必须先创建我想要合并的所有表。例如:

代码语言:javascript
复制
CREATE TABLE t1 (
   a INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
   message CHAR(20)) ENGINE=MyISAM;

CREATE TABLE t2 (
   a INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
   message CHAR(20)) ENGINE=MyISAM;
INSERT INTO t1 (message) VALUES ('Testing'),('table'),('t1');
INSERT INTO t2 (message) VALUES ('Testing'),('table'),('t2');
CREATE TABLE total (
   a INT NOT NULL AUTO_INCREMENT,
   message CHAR(20), INDEX(a))
   ENGINE=MERGE UNION=(t1,t2) INSERT_METHOD=LAST;

现在,如果我有自动创建t3表的代码,我将不得不修改合并表以将其添加到联合中?我会为此使用ALTER查询吗?

注意:我没有使用MySQL分区,因为我使用的是MySQL5.0版本。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-12-29 00:10:39

现在,如果我有自动创建t3表的代码,我将不得不修改合并表以将其添加到

?我会为此使用ALTER查询吗?

从

要将MERGE表格重新映射到不同的MyISAM表格集合,可以使用以下方法之一:

  • DROP MERGE表并重新创建它。
  • 使用ALTER TABLE tbl_name UNION=(...)更改基础表的列表。

从MySQL 5.0.60开始,还可以使用ALTER TABLE ... UNION=() (即,带有一个空的UNION子句)来删除所有基础表。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4547356

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档