mysql insert autoincrement mul key

时间:2014-01-08 07:29:11

标签: mysql

所有

假设我有以下mysql表testtable

+----------+------------------------------+------+-----+---------+----------------+
| Field    | Type                         | Null | Key | Default | Extra          |
+----------+------------------------------+------+-----+---------+----------------+
| testID   | bigint(12) unsigned zerofill | NO   | MUL | NULL    | auto_increment |
| testcol  | varchar(10)                  | YES  |     | NULL    |                |
| testcol1 | varchar(10)                  | YES  |     | NULL    |                |
| testcol2 | varchar(10)                  | YES  |     | NULL    |                |
| testcol3 | varchar(10)                  | YES  |     | NULL    |                |
| testcol4 | varchar(10)                  | YES  |     | NULL    |                |
+----------+------------------------------+------+-----+---------+----------------+

然后我通过运行插入几行,比方说5次:

INSERT INTO testtable VALUES (null, 'testcol', 'testcol1', 'testcol2', 'testcol3', 'testcol4');

然后使用testID = 000000000002删除一行:

DELETE FROM testtable WHERE testID = 000000000002;

我的问题是:

稍后通过运行相同的insert语句将testID重新分配为000000000002吗?

提前致谢。

1 个答案:

答案 0 :(得分:1)

没有。如果未指定密钥,则引擎会分配新的自动增量值。您可以使用显式插入

指定0000000002键
INSERT INTO testtable VALUES (0000000002, 'testcol', 'testcol1', 'testcol2', 'testcol3', 'testcol4');