У меня есть база данных MySQL (InnoDB), которая сбрасывает значение автоинкремента при перезапуске службы.Это приводит к дублированию вставок первичного ключа, что не удается.
Это не происходило до недавнего времени.Это начало происходить, когда коллега случайно удалил таблицу из базы данных.Одиночная таблица была восстановлена из резервной копии, но структура немного изменилась (целые числа были заменены на double, vchars стал немного больше), и автоприращение теперь сбрасывается при каждом перезапуске службы mysql.
Созданиесхема для таблицы такова:
CREATE TABLE `caseattachments` (
`CaseAttachmentId` double NOT NULL AUTO_INCREMENT,
`CaseId` double DEFAULT NULL,
`CaseEventId` double DEFAULT NULL,
`OriginalFileName` varchar(768) DEFAULT NULL,
`OriginalFileMimeType` varchar(768) DEFAULT NULL,
`OriginalFileSize` double DEFAULT NULL,
`NewFileName` varchar(768) DEFAULT NULL,
`Created` datetime DEFAULT NULL,
PRIMARY KEY (`CaseAttachmentId`)
) ENGINE=InnoDB AUTO_INCREMENT=6589 DEFAULT CHARSET=latin1;
Почему автоматическое приращение может сбрасываться при каждом перезапуске службы?
ОБНОВЛЕНИЕ
Исправление для этого было довольно тривиальным (в моем случае), я опустил таблицу и перестроил ее, чтобы использовать целые числа для идентификаторов.Это, кажется, решило проблему.Я не уверен, что бы исправить, если бы у меня был большой стол, надеюсь, мне не нужно будет это выяснять.