將多個表在邏輯上當作乙個表
建立後有兩個檔案,
.frm 表結構定義
.mrg union表的名字清單
兩個基本表:
create table merge_1(
id int(5) not null,
name varchar(100) not null,
primary key(id)
)create table merge_2(
id int(5) not null,
value varchar(100) not null,
primary key(id)
) merge表的建立:
create table test_merge(
id int(5) not null,
value varchar(100) not null,
primary key(id)
) type=merge union=(test_merge_1,test_merge_2) insert_method=last;
1. 此表類似於sql中的union機制。
2. 此表結構必須與基本表完全一致,包括列名、順序。union表必須同屬乙個database。
3. 基本表型別必須是myisam。
4. 可以通過修改.mrg檔案來修改merge表,每個基本表的名字佔一行。注意:修改後要通過flush tables重新整理表快取。
5. 對基本表的更改可以直接反映在此表上。
6. insert_method的取值可以是: 0 不允許插入,first插入到union中的第乙個表 ,last插入到union中的最後乙個表。(4.0之後可用)
7. 定義在它上面的約束沒有任何作用,約束是由基本表控制的,例如兩個基本表中存在著同樣的乙個key值,那麼在merge表中會有兩個一樣的key值。
有關於Mysql的MERGE表型別
他將多個表在邏輯上當作乙個表來查詢。他建立後有兩個檔案,frm 表結構定義 mrg union表的名字清單 兩個基本表 create table test merge 1 id int 5 not null,value varchar 100 not null,primary key id crea...
mysql 表 型別 mysql 表的型別
mysql 資料表主要支援六種型別 分別是 bdb heap isam merge myisam innobdb。這六種又分為兩類,一類是 事務安全型 transaction safe 包括bdb和innodb 其餘都屬於第二類,稱為 非事務安全型 non transaction safe bdb全...
mysql 表 型別 mysql表型別
mysql支援6種不同的表型別 bdb innodb heap isam merge以及myisam。其中 bdb,innodb單獨屬於一類,稱為 事務安全型 transaction safe 其餘的表型別屬於第二類,稱為 非事務安全型 non transaction safe 事務安全型 bdbb...