【问题标题】:mysql auto increment value is not getting updated sequentiallymysql自动增量值没有按顺序更新
【发布时间】:2016-08-03 04:39:17
【问题描述】:

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

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。

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

【问题讨论】:

标签: mysql


【解决方案1】:

试试这个

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 5.5.16 中不起作用。创建表时出现语法错误。
  • 插入后有没有删除记录?
  • 没有删除操作。创建表后,我通过从另一个表中选择数据来插入数据。
猜你喜欢
  • 1970-01-01
  • 2019-03-04
  • 2011-01-25
  • 1970-01-01
  • 2021-03-03
  • 2019-10-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多