mysql自动增量值没有按顺序更新

标签 mysql

我有带有自动增量列的表格,如下所示。

CREATE TABLE `garment_master2` (
  `GARMENT_ID2` int(11) NOT NULL AUTO_INCREMENT,
  `GARMENT_NAME1` varchar(50) NOT NULL,
  PRIMARY KEY (`GARMENT_ID2`),
  KEY `NDX_gar_name` (`GARMENT_NAME1`)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1;

当一行一行插入时,自动增量值是连续的。但是,如果我使用 insert into 命令一次插入多行,则最终自动增量值大于 GARMENT_ID2 值,即,如果插入 12 行,则 GARMENT_ID2 值为 12 并且自动增量值为16。

请帮助我理解为什么自动增量值设置不正确。

最佳答案

试试这个

CREATE TABLE `garment_master2` (
  `GARMENT_ID2` int NOT NULL IDENTITY(1,1),
  `GARMENT_NAME1` varchar(50) NOT NULL,
  PRIMARY KEY (`GARMENT_ID2`),
  KEY `NDX_gar_name` (`GARMENT_NAME1`)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1;

不要使用自动增量,而是使用身份。

关于mysql自动增量值没有按顺序更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38734539/

相关文章:

mysql - 如何在一次sql查询中统计两个count函数的返回值

mysql - "friends of friends"类似sql查询

mysql - 日程选择器,保存 SQL 的最佳方式

mysql - 如何从 X 列中选择唯一列但从 SQL 结果中显示 X + Y 列?

MySQL Workbench 重命名约束

php - 按列名排序在列表页面上的纯 PHP 中不起作用

mysql - 使用 Select 插入 MAX+1 但也插入其他值

javascript - 第二个相关下拉列表未填充数据

mysql - MySQL 中的多行 INSERT

php - 在 php 代码中使用 "INSERT INTO"语句不起作用