我需要在UNION =()行中添加和删除合并表。根据MySQL文档,它说:
删除MERGE表并重新创建它。
使用ALTER TABLE tbl_name UNION =(...)更改列表
基础表。
我知道的唯一的“ DROP”是DROP TABLE表名;这些说明是否建议我删除MRG_MyISAM表,然后使用空的UNION =()字段重新创建它?然后紧跟着ALTER TABLE tbl_name UNION =(...),然后列出我需要连接的所有表?
如果可能的话,您可以张贴命令示例吗?
谢谢
最佳答案
天哪,我来晚了吗?但是,此页面在“ alter table tbl_name union =(...)”的Google搜索结果中排名最高。所以我想它需要一个答案
所以这就是答案。
要更改合并表的基础表的联合列表,您只需执行此语句
alter table tbl_name union=(`t1`,`t2`,`t3`);
其中
t1
,t2
,t3
是要包含在联合中的表的列表。您可以删除合并表并使用基础表的新列表重新创建它。
在合并表上执行的drop语句只会删除合并表本身,而不会影响基础表。
但是更改它就足够了。而且,您不需要使用空的联合来重新创建它,如果您这样做的话,只需使用要包含在其中的表的列表即可。
有关更多信息,请参阅文档:
https://dev.mysql.com/doc/refman/5.7/en/merge-storage-engine.html