Вы не можете установить AUTO_INCREMENT на конкретное значение в движке ARCHIVE. Так что просто уберите предложение auto_increment = 379
.
Движок ARCHIVE не поддерживает более одного индекса на таблицу. Вы должны DROP INDEX для всех ваших вторичных индексов, оставляя максимум один индекс.
На самом деле мне не повезло с использованием хотя бы одного индекса в движке ARCHIVE. Я не использовал движок ARCHIVE достаточно часто, чтобы знать, как решить эту проблему.
mysql> alter table t add key (x);
ERROR 1030 (HY000): Got error -1 from storage engine
Немного сложно найти это в документации, но я нашел ссылки, которые показывают, что механизм хранения ARCHIVE вообще не поддерживает индексы, даже если полученная ошибка предполагает, что он поддерживает 1 индекс.
https://dev.mysql.com/doc/refman/8.0/en/storage-engines.html говорит:
Архив: эти компактные неиндексированные таблицы ...
https://dev.mysql.com/doc/refman/8.0/en/archive-storage-engine.html говорит:
Механизм хранения ARCHIVE создает специальные таблицы, в которых хранятся большие объемы неиндексированных данных в очень небольшом объеме.
Столбец AUTO_INCREMENT может иметь уникальный или неуникальный индекс. Попытка создать индекс для любого другого столбца приводит к ошибке.
Демо:
mysql> create table t ( x int auto_increment, key(x)) engine=archive;
Query OK, 0 rows affected (0.03 sec)
Это также не работает, если вы пытаетесь проиндексировать столбец, который можно обнулять.
mysql> create table t ( x int, key(x)) engine=archive;
ERROR 1121 (42000): Table handler doesn't support NULL in given index. Please change column 'x' to be NOT NULL or use another handler
Вам следует подумать, почему вы используете движок ARCHIVE. Если вы пытаетесь хранить данные в меньшем количестве места, можете ли вы использовать InnoDB с ROW_FORMAT=COMPRESSED
вместо этого?