假设一个表格如下:
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,但这似乎不起作用。
感谢您的帮助。
答案 0 :(得分:0)
没有。 AUTO_INCREMENT不能那样工作。 AUTO_INCREMENT值将大于表中已有的最高值,它不会“填写”小于最高值的缺失id值。
http://dev.mysql.com/doc/refman/5.5/en/example-auto-increment.html