我们正在运行查询:
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;
任何会引起这种行为的想法都将受到赞赏!
答案 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');