MySQL 是否在连接之间保留唯一 ID

Does MySQL retain unique IDs between connections

我想知道 MySQL 是否保留了它在连接之间自动分配的唯一 ID。 我将一个table的创建脚本从测试环境复制到生产环境,测试是否正常运行时,发现使用下一个ID向这个table(生产)插入了一条新记录在测试环境中插入相同 table 的最后一条记录之后。这是正常行为吗?这不是问题,因为它很奇怪。

下面是创建脚本:

CREATE TABLE `audit_logs` (
  `log_id` int(11) NOT NULL AUTO_INCREMENT,
  `log_date` date DEFAULT NULL,
  `workflow_id` int(11) DEFAULT NULL,
  `workflow_step` int(2) DEFAULT NULL,
  `workflow_step_status` int(2) DEFAULT NULL,
  `step_modified_by` varchar(45) DEFAULT NULL,
  `item_id` int(11) DEFAULT NULL,
  `job` varchar(6) DEFAULT NULL,
  `area` varchar(45) DEFAULT NULL,
  `fixture` varchar(45) DEFAULT NULL,
  `unit` varchar(45) DEFAULT NULL,
  `comments` varchar(100) DEFAULT NULL,
  PRIMARY KEY (`log_id`),
  KEY `workflow_id` (`workflow_id`),
  KEY `FK_ItemAuditLog` (`item_id`),
  CONSTRAINT `FK_ItemAuditLog` FOREIGN KEY (`item_id`) REFERENCES `items` (`item_id`),
  CONSTRAINT `audit_logs_ibfk_1` FOREIGN KEY (`workflow_id`) REFERENCES `workflows` (`workflow_id`)
) ENGINE=InnoDB AUTO_INCREMENT=192 DEFAULT CHARSET=utf8;

很确定你的问题来自这一行;

AUTO_INCREMENT=192

这导致在新服务器上 table 中第一次插入时,唯一 ID 将从 192 开始。