表示 进入内容 12
Displaying posts with tag: auto_increment (reset)
mysql Innodb auto_increment 字段的又一个奇怪问题

mysql Innodb auto_increment 字段的又一个奇怪问题

2013年才过去一个多月,我已经被颠覆过无数次了,今天又看到一个奇怪的问题:
我们都知道,在show create table 的时候:

mysql> SHOW CREATE TABLE tasks;
------------------------------------------------------+
| tasks | CREATE TABLE `tasks` (
  `id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT,
  `task` VARCHAR(30) DEFAULT NULL,
  `assignee` VARCHAR(30) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8

AUTO_INCREMENT=3表示下一次insert操作时,id的值将为3。 然后将一直增大下去。
所以它才被称作自增字段嘛。

可是您见过,这个AUTO_INCREMENT越变越小的时候么?

mysql> USE test;
DATABASE changed
mysql> 
mysql> CREATE TABLE `tasks` (
    -> …
[获取更多]
mysql Innodb auto_increment 字段并非完全按顺序增长

mysql Innodb auto_increment 字段并非完全按顺序增长

mysql> SHOW CREATE TABLE t;
+-------+--------------------------------------------------------------------------------------------------------------------------------------------------------+
| TABLE | CREATE TABLE                                                                                                                                           |
+-------+--------------------------------------------------------------------------------------------------------------------------------------------------------+
| t     | CREATE TABLE `t` (
  `a` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
  PRIMARY KEY (`a`)
) ENGINE=InnoDB AUTO_INCREMENT=458731 DEFAULT CHARSET=latin1 |
+-------+--------------------------------------------------------------------------------------------------------------------------------------------------------+
1 ROW IN SET (0.00 sec)
 
mysql> SELECT …
[获取更多]
表示 进入内容 12