[英]MySQL MERGE Storage Engine
我在mysql中建立一个mysql引擎类型合并的表,并且想知道我是否必须先创建我想要合并的所有表。 例如:
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分区,因为我有一个mysql版本5.0。
现在,如果我有自动创建t3表的代码,我将不得不修改合并表以将其添加到联合? 我会使用ALTER查询吗?
从文档 :
要将
MERGE
表重新映射到不同的MyISAM
表集合,可以使用以下方法之一:
DROP
MERGE
表并重新创建它。- 使用
ALTER TABLE tbl_name UNION=(...)
更改基础表的列表。从
MySQL
5.0.60开始,也可以使用ALTER TABLE ... UNION=()
(即使用空的UNION
子句)来删除所有基础表。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.