国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > MySQL > 正文

關于mysql合并表的詳細介紹

2024-07-24 12:48:18
字體:
來源:轉載
供稿:網友

mysql創建合并表和分區表有點相似,他是mysql 的一種特性,可以把多個結構相同的myisam表合并為一個虛表,存續引擎必須是merge,當從合并表中查詢就像從子表中查詢一樣,和視圖有寫相似,當創建合并表時也有自己的frm和mrg 文件。
合并表創建方法
create table t3(a  int  primary key );
create table t4(a  int  primary key );
create  table mrg(a int  primary key )  union=(t3,t4)  insert_method=last;
這里需要注意,當2個子表中有相同的列時,創建合并表并不會唯一
mysql> select * from mrg;
+---+
| a |
+---+
| 1 |
| 2 |
| 2 |
| 3 |
| 4 |
+---+
5 rows in set (0.00 sec)
mysql> select * from t3;
+---+
| a |
+---+
| 1 |
| 2 |
+---+
2 rows in set (0.00 sec)
mysql> select * from t4;
+---+
| a |
+---+
| 2 |
| 3 |
| 4 |
+---+
3 rows in set (0.00 sec)
a=2的列在父表里面并不唯一即使你使用了PRIMARY  KEY 約束也一樣。
insert_method=last選項有2個值,first  和 last  他說明插入值時是在第一個表還是最有一個,一般查詢訪問時是順序訪問union中的表順序的。
當刪除了父表,子表任然可以訪問
mysql> drop table mrg;
Query OK, 0 rows affected (0.00 sec)
mysql> select * from t3;
+---+
| a |
+---+
| 1 |
| 2 |
+---+
2 rows in set (0.00 sec);
當刪除子表父表不能訪問
mysql> drop table t3;
Query OK, 0 rows affected (0.00 sec)
mysql> select * from mrg;
ERROR 1168 (HY000): Unable to open underlying table which is differently define
or of non-MyISAM type or doesn't exist;
同時如果你的子表定義不一致的話,父表能創建成功,但是不能正常訪問。

合并表比非合并表含有更多的文件描述符,他的訪問其實是打開了子表,所以緩存中的數據可能對應有多個文件描述符,在合并表中雖然有可能有相同的值,但是只要查詢找到了第一個想要的值,查詢就會停止

您可能感興趣的文章:

MySql采用GROUP_CONCAT合并多條數據顯示的方法mysql如何將多行數據合并成一行mysql利用group_concat()合并多行數據到一行mysql如何實現多行查詢結果合并成一行mysql中合并兩個字段的方法分享mysql合并多條記錄的單個字段去一條記錄編輯mysql group_concat()函數用法總結MySQL統計函數GROUP_CONCAT使用陷阱分析mysql的group_concat函數使用示例MySQL中group_concat函數深入理解Mysql的GROUP_CONCAT()函數使用方法mysql實現合并同一ID對應多條數據的方法
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 池州市| 内黄县| 玛沁县| 瑞昌市| 开江县| 大邑县| 尼木县| 图木舒克市| 千阳县| 额敏县| 温泉县| 青龙| 南城县| 台南县| 林西县| 麻城市| 永平县| 邮箱| 佛坪县| 德保县| 灵丘县| 芒康县| 旬邑县| 天祝| 綦江县| 乐至县| 读书| 河池市| 慈利县| 慈利县| 扎兰屯市| 平遥县| 曲沃县| 北京市| 治县。| 陇西县| 云南省| 抚宁县| 灵山县| 朝阳区| 西青区|