表格模式中AUTO_INCREMENT = 20018215的含义是什么?

时间:2013-09-21 09:09:29

标签: mysql innodb auto-increment

CREATE TABLE `tblspmaster` (
  `CSN` bigint(20) NOT NULL AUTO_INCREMENT,
  `SP` varchar(50) NOT NULL,
  `FileImportedDate` date NOT NULL,
  `AMZFileName` varchar(580) NOT NULL,
  `CasperBatch` varchar(50) NOT NULL,
  `BatchProcessedDate` date NOT NULL,
  `ExpiryDate` date NOT NULL,
  `Region` varchar(50) NOT NULL,
  `FCCity` varchar(50) NOT NULL,
  `VendorID` int(11) NOT NULL,
  `LocationID` int(11) NOT NULL,
  PRIMARY KEY (`CSN`)
) ENGINE=InnoDB AUTO_INCREMENT=20018215 DEFAULT CHARSET=latin1;

表架构中AUTO_INCREMENT = 20018215的含义是什么?当我插入500k条记录时,我的身份从1到500k是正常的,但当我尝试插入下一条500k条记录时,下一条记录标识列值为524281而不是{ {1}}。

2 个答案:

答案 0 :(得分:2)

这意味着第一个自动分配的值(到CSN)将为20018215

答案 1 :(得分:0)

当您执行“发送到SQL编辑器”时,大的初始值20018215可能是自动增量的先前值 - > MySQL Workbench中的“Create Statement”菜单选择。这只是一个安全的值,可以跳过现有数据,以防你必须重新导入以前的记录。

我有同样的问题,但在从已知表生成多个“创建”编辑模板后,我注意到AUTO_INCREMENT值对应于这些表中现有记录的数量。我从模板中删除了大值,因为我希望我的新表以主键= 1开始。