1
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而不是500001

4

2 回答 2

2

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

于 2013-09-21T09:10:43.420 回答
0

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

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

于 2015-03-19T18:40:58.447 回答