MySql自动递增失败,无法重复重复输入位置0

时间:2019-06-03 22:44:06

标签: mysql

我们正在运行查询:

INSERT INTO `macroSet` (`id`,`name`,`createdAt`,`updatedAt`) VALUES (DEFAULT, 'Body Regions NEB-9377','2019-05-22 23:57:38','2019-05-22 23:57:38');

MYSQL返回键0的重复条目。

有一个ID位置为0的条目,但是它不应该在设置了自动增量的情况下递增并且不尝试在位置键0处插入另一个值吗?

我们的增量值为32,因此从技术上讲,应将0正确后将增量设置为32?

这是宏表的表转储。

CREATE TABLE `macroSet` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(255) NOT NULL,
  `createdAt` datetime NOT NULL,
  `updatedAt` datetime NOT NULL,
  `subjectiveFolderId` int(11) DEFAULT NULL,
  `objectiveFolderId` int(11) DEFAULT NULL,
  `assessmentFolderId` int(11) DEFAULT NULL,
  `planFolderId` int(11) DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `unique_name_macro_set` (`name`),
  KEY `fk_subjective_folder_id_macro_set` (`subjectiveFolderId`),
  KEY `fk_objective_folder_id_macro_set` (`objectiveFolderId`),
  KEY `fk_assessment_folder_id_macro_set` (`assessmentFolderId`),
  KEY `fk_plan_folder_id_macro_set` (`planFolderId`),
  CONSTRAINT `fk_assessment_folder_id_macro_set` FOREIGN KEY (`assessmentFolderId`) REFERENCES `folder` (`id`) ON DELETE CASCADE,
  CONSTRAINT `fk_objective_folder_id_macro_set` FOREIGN KEY (`objectiveFolderId`) REFERENCES `folder` (`id`) ON DELETE CASCADE,
  CONSTRAINT `fk_plan_folder_id_macro_set` FOREIGN KEY (`planFolderId`) REFERENCES `folder` (`id`) ON DELETE CASCADE,
  CONSTRAINT `fk_subjective_folder_id_macro_set` FOREIGN KEY (`subjectiveFolderId`) REFERENCES `folder` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=32 DEFAULT CHARSET=latin1;

任何会引起这种行为的想法都将受到赞赏!

1 个答案:

答案 0 :(得分:0)

指针为32(AUTO_INCREMENT = 32),没有“默认值”

尝试:

INSERT INTO `macroSet` (`id`,`name`,`createdAt`,`updatedAt`) VALUES (33, 'Body Regions NEB-9377','2019-05-22 23:57:38','2019-05-22 23:57:38');

INSERT INTO `macroSet` (`name`,`createdAt`,`updatedAt`) VALUES ('Body Regions NEB-9377','2019-05-22 23:57:38','2019-05-22 23:57:38');