delete table操作不会重置AUTO_INCREMENT 值;
truncate table 操作会重置AUTO_INCREMENT 值;
mysql> delete from t;
Query OK, 5 rows affected (0.00 sec)
mysql> show create table t;
+-------+--------------------------------------------------------------------------------------------------------------------------------------------------------------
| Table | Create Table |
+-------+--------------------------------------------------------------------------------------------------------------------------------------------------------------
| t | CREATE TABLE `t` (
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
`col2` int(11) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=100 DEFAULT CHARSET=utf8 |
+-------+--------------------------------------------------------------------------------------------------------------------------------------------------------------
1 row in set (0.00 sec)
mysql> truncate table t;
Query OK, 0 rows affected (0.05 sec)
mysql> show create table t;
+-------+--------------------------------------------------------------------------------------------------------------------------------------------------------------
| Table | Create Table |
+-------+--------------------------------------------------------------------------------------------------------------------------------------------------------------
| t | CREATE TABLE `t` (
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
`col2` int(11) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 |
+-------+--------------------------------------------------------------------------------------------------------------------------------------------------------------
1 row in set (0.00 sec)
mysql>