Mysql 保留一些特殊的主键(在启用自动增量的情况下)

Mysql 保留一些特殊的主键(在启用自动增量的情况下),mysql,Mysql,假设一个表如下所示: CREATE TABLE `test`.`table` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `value` varchar(45) NOT NULL, PRIMARY KEY (`id`) ); 如果可能的话,我想保留一些身份证。从我到目前为止的测试来看,它抛出了自动增量。是否需要插入一个id为10的值,并且仍然有1-9的自动增量插入记录,然后继续到11 使用: INSERT INTO `test

假设一个表如下所示:

CREATE TABLE `test`.`table` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `value` varchar(45) NOT NULL,
  PRIMARY KEY  (`id`)
);
如果可能的话,我想保留一些身份证。从我到目前为止的测试来看,它抛出了自动增量。是否需要插入一个id为10的值,并且仍然有1-9的自动增量插入记录,然后继续到11

使用:

INSERT INTO `test`.`table` (`id`,`value`) VALUES(10, 'this is a special row');
这将在表中插入正确的行,但是会抛出自动增量,以便使用不少于10的行。这对我来说是个问题,因为我想保留几个键,其中一些是非常高的值

我尝试在插入一个特殊的键后更改表,将自动增量值重新设置为1,但这似乎不起作用


谢谢你的帮助。

不。自动增量不是那样工作的。自动增量值将大于表中已存在的最高值,它不会填充小于最高值的缺失id值


为什么?如果需要特定的标识符,请创建另一个字段并使用它。对于逻辑值,不执行自动递增字段。