Я пытаюсь создать таблицу истории для хранения всех исторических записей соответствующей таблицы
Однако, когда я переключаюсь с MyISAM на InnoDB (из-за УДАЛИТЬ НА КАСКАДЕ) следующий запрос выдает ошибку: Incorrect table definition; there can be only one auto column and it must be defined as a key
CREATE TABLE tdm_history.BATCH LIKE tdm.BATCH;
ALTER TABLE tdm_history.BATCH MODIFY COLUMN id int NOT NULL,
DROP PRIMARY KEY, ADD action VARCHAR(8) DEFAULT 'insert',
ADD revision INT NOT NULL AUTO_INCREMENT,
ADD stamp DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
ADD PRIMARY KEY (id, revision);
Я ожидаю, что первичный элемент tdm_history.BATCH
из id
будет изменен на составной первичный ключ (id, revision)
.Обратите внимание, что приведенный выше запрос прекрасно работает, когда ядро настроено на MyISAM
.