MySQL自动增量每条记录增加超过+1

标签 mysql sql database database-design create-table

我正在规划一家在线商店的数据库设计,但客户表存在问题。我已经设置了 PK,并通过输入一些虚拟数据进行测试。问题是,当我插入新行时,它不会使用 +1 自动递增,而是在 ID 上自动递增 2,5,7。

SQL 是:

CREATE TABLE IF NOT EXISTS `foundation`.`Customer`
( `CustomerID` INT NOT NULL AUTO_INCREMENT,
  `CustomerFirstName` VARCHAR(20) NULL,
  `CustomerLastName` VARCHAR(32) NULL,
  `CustomerUsername` VARCHAR(20) NULL,
  `CustomerPassword` VARCHAR(32) NULL,
  `CustomerEmail` VARCHAR(100) NULL,
  `CustomerEmailVerified` TINYINT(1) NULL,
  `CustomerRegisteredDate` DATETIME NULL,
  `CustomerActive` TINYINT(1) NULL,
  `CustomerNewsletterSubscribed` TINYINT(1) NULL,
  `CustomerDescription` TEXT NULL,
  `CustomerType_CustomerTypeID` INT NOT NULL,
  PRIMARY KEY (`CustomerID`),
  UNIQUE INDEX `Username_UNIQUE` (`CustomerUsername` ASC),
  INDEX `fk_Customer_CustomerType1_idx` (`CustomerType_CustomerTypeID` ASC),
  CONSTRAINT `fk_Customer_CustomerType1`
  FOREIGN KEY (`CustomerType_CustomerTypeID`)
  REFERENCES `foundation`.`CustomerType` (`CustomerTypeID`)
  ON DELETE NO ACTION
  ON UPDATE NO ACTION
)
ENGINE = InnoDB;

最佳答案

检查以下系统变量,auto_increment_increment它应该是1。如果不是,那么它会增加其中的值。

显示变量,如“%aut​​o_increment%”

还要检查您是否在插入查询中手动递增。

关于MySQL自动增量每条记录增加超过+1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22687601/

相关文章:

php - 在内存中创建 SQLite 数据库

java - 在 TreeTableView 中用数据库数据填充 ComboBox

mysql - 如何使用 SQL 查询 (MySQL) 计算时间范围的小时

php - 在 MySQL (PHP) 中插入 CURDATE() 和 CURTIME()

mysql - 使用一个 SQL 更新多行

mysql - 我的 UPDATE 语句有什么问题?

sql - 连接到 SQL Server : Connection Error: Failed to connect to servername\instancename in 15000ms 时出现超时错误

database - Node.js + Oracle - 在每次请求后保持连接打开还是关闭?

mysql - 带有 WHERE 子句的 GROUP_CONCAT 和 INNER JOIN

php - 创建表查询给我 "table does not exists"错误