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

首頁 > 數據庫 > MySQL > 正文

Mysql中Identity 詳細介紹

2024-07-24 13:10:46
字體:
來源:轉載
供稿:網友

假如表中包含一列為auto_increment,

如果是Myisam類型的引擎,那么在刪除了最新一筆數據,無論是否重啟Mysql,下一次插入之后仍然會使用上次刪除的最大ID+1.

mysql> create table test_myisam (id int not null auto_increment primary key, name char(5)) engine=myisam;Query OK, 0 rows affected (0.04 sec)mysql> insert into test_myisam (name) select ‘a‘;Query OK, 1 row affected (0.00 sec)Records: 1 Duplicates: 0 Warnings: 0mysql> insert into test_myisam (name) select ‘b‘;Query OK, 1 row affected (0.00 sec)Records: 1 Duplicates: 0 Warnings: 0mysql> insert into test_myisam (name) select ‘c‘;Query OK, 1 row affected (0.00 sec)Records: 1 Duplicates: 0 Warnings: 0mysql> insert into test_myisam (name) select name from test_myisam;Query OK, 3 rows affected (0.00 sec)Records: 3 Duplicates: 0 Warnings: 0mysql> select * from test_myisam;+----+------+| id | name |+----+------+| 1 | a  || 2 | b  || 3 | c  || 4 | a  || 5 | b  || 6 | c  |+----+------+6 rows in set (0.00 sec)mysql> delete from test_myisam where id=6;Query OK, 1 row affected (0.00 sec)
mysql> insert into test_myisam(name) select ‘d‘;Query OK, 1 row affected (0.00 sec)Records: 1 Duplicates: 0 Warnings: 0mysql> select * from test_myisam;+----+------+| id | name |+----+------+| 1 | a  || 2 | b  || 3 | c  || 4 | a  || 5 | b  || 7 | d  |+----+------+6 rows in set (0.00 sec)

下面是對Innodb表的測試。

mysql> create table test_innodb(id int not null auto_increment primary key, name char(5)) engine=innodb;Query OK, 0 rows affected (0.26 sec)mysql> insert into test_innodb (name)select ‘a‘;Query OK, 1 row affected (0.06 sec)Records: 1 Duplicates: 0 Warnings: 0mysql> insert into test_innodb (name)select ‘b‘;Query OK, 1 row affected (0.06 sec)Records: 1 Duplicates: 0 Warnings: 0mysql> insert into test_innodb (name)select ‘c‘;Query OK, 1 row affected (0.07 sec)Records: 1 Duplicates: 0 Warnings: 0mysql> select * from test_innodb;+----+------+| id | name |+----+------+| 1 | a  || 2 | b  || 3 | c  |+----+------+3 rows in set (0.00 sec)mysql> delete from test_innodb where id=3;Query OK, 1 row affected (0.05 sec)mysql> insert into test_innodb (name)select ‘d‘;Query OK, 1 row affected (0.20 sec)Records: 1 Duplicates: 0 Warnings: 0mysql> select * from test_innodb;+----+------+| id | name |+----+------+| 1 | a  || 2 | b  || 4 | d  |+----+------+3 rows in set (0.00 sec)mysql> exitBye[2@a data]$ mysql -uroot -pwsdadWelcome to the MySQL monitor. Commands end with ; or /g.Your MySQL connection id is 5Server version: 5.5.37-log Source distributionCopyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved.Oracle is a registered trademark of Oracle Corporation and/or itsaffiliates. Other names may be trademarks of their respectiveowners.Type ‘help;‘ or ‘/h‘ for help. Type ‘/c‘ to clear the current input statement.mysql> use wisonDatabase changedmysql> delete from test_innodb where id=4;Query OK, 1 row affected (0.07 sec)mysql> exitBye[2@a data]$ sudo service mysql restartShutting down MySQL... SUCCESS!Starting MySQL.. SUCCESS![2@a data]$ mysql -uroot -pwisonWelcome to the MySQL monitor. Commands end with ; or /g.Your MySQL connection id is 1Server version: 5.5.37-log Source distributionCopyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved.Oracle is a registered trademark of Oracle Corporation and/or itsaffiliates. Other names may be trademarks of their respectiveowners.Type ‘help;‘ or ‘/h‘ for help. Type ‘/c‘ to clear the current input statement.mysql> use wisonDatabase changedmysql> insert into test_innodb (name) select ‘z‘;Query OK, 1 row affected (0.07 sec)Records: 1 Duplicates: 0 Warnings: 0mysql> select * from test_innodb;+----+------+| id | name |+----+------+| 1 | a  || 2 | b  || 3 | z  |+----+------+3 rows in set (0.00 sec) 

可以看到在mysql數據庫沒有重啟時,innodb的表新插入數據會是之前被刪除的數據再加1.

但是當Mysql服務被重啟后,再向InnodB的自增表表里插入數據,那么會使用當前Innodb表里的最大的自增列再加1.

原因:

Myisam類型存儲引擎的表將最大的ID值是記錄到數據文件中,不管是否重啟最大的ID值都不會丟失。但是InnoDB表的最大的ID值是存在內存中的,若不重啟Mysql服務,新加入數據會使用內存中最大的數據+1.但是重啟之后,會使用當前表中最大的值再+1

感謝閱讀此文,希望能幫助到大家,謝謝大家對本站的支持!


注:相關教程知識閱讀請移步到MYSQL教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 马山县| 沐川县| 新干县| 奉节县| 双峰县| 吉水县| 西华县| 平遥县| 四会市| 和田县| 台前县| 碌曲县| 油尖旺区| 崇义县| 厦门市| 安吉县| 汝阳县| 无为县| 宁都县| 榆中县| 新邵县| 乌兰察布市| 托克逊县| 金昌市| 涿州市| 衡山县| 曲阳县| 明水县| 邵东县| 登封市| 白银市| 泰和县| 汽车| 屏东县| 临湘市| 赞皇县| 石阡县| 焉耆| 嘉鱼县| 贞丰县| 旬邑县|