所有
假设我有以下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
吗?
提前致谢。
答案 0 :(得分:1)
没有。如果未指定密钥,则引擎会分配新的自动增量值。您可以使用显式插入
指定0000000002键INSERT INTO testtable VALUES (0000000002, 'testcol', 'testcol1', 'testcol2', 'testcol3', 'testcol4');