Кто-то, должно быть, его изменил. Это изменение не происходит спонтанно.
Я могу воспроизвести это изменение самостоятельно:
CREATE TABLE Foo ( id BIGINT AUTO_INCREMENT, ...
ALTER TABLE Foo MODIFY COLUMN id BIGINT;
SHOW CREATE TABLE Foo\G
*************************** 1. row ***************************
Table: foo
Create Table: CREATE TABLE `foo` (
`id` bigint(20) NOT NULL,
`name` varchar(10) NOT NULL,
`type` tinyint(2) NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `name` (`name`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
Теперь столбец показывает, что это BIGINT, но не AUTO_INCREMENT.
Каждый раз, когда вы MODIFY COLUMN или CHANGE COLUMN, вы должны повторить все параметры столбца, такие как NOT NULL, AUTO_INCREMENT и DEFAULT, иначе он вернется к значениям по умолчанию (т.е. не автоинкремент).
Так что я бы Это показывает, что кто-то выполнил ALTER TABLE и не забыл включить параметр столбца AUTO_INCREMENT.