保留一些特殊的主键(启用auto_increment)

时间:2014-01-12 19:31:17

标签: mysql

假设一个表格如下:

CREATE TABLE `test`.`table` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `value` varchar(45) NOT NULL,
  PRIMARY KEY  (`id`)
);

如果可能,我想“保留”一些身份证。从我到目前为止测试过,它抛出了auto_increment。是否需要插入一个id为10的值,并且仍然有1-9的auto_increment插入记录,并继续11?

使用:

INSERT INTO `test`.`table` (`id`,`value`) VALUES(10, 'this is a special row');

这会在表格中插入正确的行,但会抛出auto_increment,以便使用不少于10的行。这对我来说是一个问题,因为我想保留几个键,其中一些是非常高的值。

我尝试在插入特殊键后重新设置表格,将auto_increment值重新设置为1,但这似乎不起作用。

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

没有。 AUTO_INCREMENT不能那样工作。 AUTO_INCREMENT值将大于表中已有的最高值,它不会“填写”小于最高值的缺失id值。

http://dev.mysql.com/doc/refman/5.5/en/example-auto-increment.html