【问题标题】:Does MySQL retain unique IDs between connectionsMySQL 是否在连接之间保留唯一 ID
【发布时间】:2018-01-29 12:37:01
【问题描述】:

我想知道 MySQL 是否保留它在连接之间自动分配的唯一 ID。 我将表的创建脚本从测试环境复制到生产环境,在测试它是否正常工作时,注意到使用插入的最后一条记录之后的下一个 ID 将新记录插入到该表(生产)中测试环境中的同一张表。这是正常行为吗?这不是问题,尽管它很奇特。

下面是创建脚本:

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;

【问题讨论】:

  • 好吧,显示脚本。它可能包含涉及自动递增序列的代码。
  • 已编辑。谢谢塞尔吉奥

标签: mysql database create-table


【解决方案1】:

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

AUTO_INCREMENT=192

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

【讨论】:

  • 我显然还有很多关于 MySQL 的知识(来自 SQL Server 背景) - 谢谢你的回答!也感谢塞尔吉奥
猜你喜欢
  • 2012-09-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-04-15
  • 2018-02-02
  • 1970-01-01
  • 1970-01-01
  • 2013-01-02
相关资源
最近更新 更多