【Mysql 學習】自動增長列
--對於innodb表,自動增長列必須是索引。如果是組合索引,也必須是前導列。
mysql> create table innodb_auto
-> ( id1 int not null auto_increment,
-> id2 int not null,
-> val varchar(10),
-> index(id2,id1)
-> ) engine=innodb;
ERROR 1075 (42000): Incorrect table definition; there can be only one auto column and it must be defined as a key
--但是對於myisam表,自動增長列可以是組合索引的其他列。這樣插入記錄後,自動增長列是按照組合索引的前面幾列進行排序後遞增的。如下實驗:
--建立一個myisam表
mysql> create table myisam_auto
-> ( id1 int not null auto_increment,
-> id2 int not null,
-> val varchar(10),
-> index(id2,id1)
-> ) engine=myisam;
Query OK, 0 rows affected (0.11 sec)
mysql> insert into myisam_auto(id2,val) values(2,'2'),(3,'3'),(4,'4'),(5,'5'),(2,'2'),(3,'3'),(4,'4');
Query OK, 7 rows affected (0.00 sec)
Records: 7 Duplicates: 0 Warnings: 0
mysql> select * from myisam_auto;
+-----+-----+------+
| id1 | id2 | val |
+-----+-----+------+
| 1 | 2 | 2 |
| 1 | 3 | 3 |
| 1 | 4 | 4 |
| 1 | 5 | 5 |
| 2 | 2 | 2 |
| 2 | 3 | 3 |
| 2 | 4 | 4 |
+-----+-----+------+
7 rows in set (0.00 sec)
mysql> insert into myisam_auto(id2,val) values(3,'3'),(4,'4');
Query OK, 2 rows affected (0.00 sec)
Records: 2 Duplicates: 0 Warnings: 0
mysql> select * from myisam_auto;
+-----+-----+------+
| id1 | id2 | val |
+-----+-----+------+
| 1 | 2 | 2 |
| 1 | 3 | 3 |
| 1 | 4 | 4 |
| 1 | 5 | 5 |
| 2 | 2 | 2 |
| 2 | 3 | 3 |
| 2 | 4 | 4 |
| 3 | 3 | 3 |
| 3 | 4 | 4 |
+-----+-----+------+
9 rows in set (0.00 sec)
由以上實驗可以看出對於組合索引 id1,id2 插入一些資料,自動組合列是根據組合索引的第一列d2 進行排序後遞增的。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/22664653/viewspace-683336/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- mysql自增長列MySql
- mysql重置自增長屬性MySql
- MySQL設定表自增步長MySql
- .NET執行insert語句返回自動增長列ID的值
- Mysql實現自增長編號,日期+序列MySql
- mysql自增和orcale自增MySql
- c mac生成器(自動增長)Mac
- gcc 0長陣列學習GC陣列
- mysql自增長id用完了該怎麼辦MCBZMySql
- mysql 的自增長的策略(查詢與更改初值)MySql
- mysql增加列,刪除列學習筆記MySql筆記
- MySQL自增約束MySql
- 自動增長Textareas的最乾淨技巧「心得分享」
- SQLite設定主鍵自動增長及插入語法SQLite
- PLG SaaS 案例:如何實踐外鏈自動增長策略?
- 各位大俠,鍵值自動增長怎麼解決?
- 深入剖析 MySQL 自增鎖MySql
- 字尾自動機學習
- 自增長列和序列的區別(identity與sequence的區別)IDE
- MySQL增刪改查學習筆記(手寫)MySql筆記
- 增強學習的解釋——學習基於長期回報的行為。
- AC自動機學習筆記筆記
- 我是如何學習自動化
- AC 自動機學習筆記筆記
- 向Mysql主鍵自增長表中新增資料並返回主鍵MySql
- MySQL 中的自增主鍵MySql
- MySQL 主鍵自增也有坑?MySql
- mysql預先取自動增長主鍵的下一個值MySql
- DB2巧用欄位自動增長主鍵的方法DFDB2
- Mysql關於自增主鍵,自增主鍵優化總結MySql優化
- SqlServer主鍵和自增長設定SQLServer
- 機器學習框架ML.NET學習筆記【9】自動學習機器學習框架筆記
- java求學費的增長Java
- 字尾自動機學習筆記筆記
- 深度學習利器之自動微分(1)深度學習
- 深度學習利器之自動微分(2)深度學習
- JVM學習-自動記憶體管理JVM記憶體
- rc.local自啟動學習(轉)