Я пытаюсь настроить сценарий для создания определенного набора тестовых данных в моей базе данных, в начале которого я хочу очистить соответствующие таблицы, не отбрасывая ограничения (поскольку тест данные не являются подходящим местом для восстановления ограничений) и сбросить AUTO_INCREMENT для каждой таблицы, так как настройка тестовых данных намного проще, если я могу жестко закодировать многие идентификаторы.Auto-increment не сбрасывается в MySQL
К примеру, у меня есть два заявления, как это (есть пара почти для каждой таблицы):
DELETE FROM AppointmentAttr
ALTER TABLE AppointmentAttr AUTO_INCREMENT = 1
и в то время как записи будут удалены, значение автоприращения не возвращается к 1, несмотря на то, вся документация и ответы, которые я могу найти, показывают, что это должно сработать.
Если я делаю то же утверждение в MySQL Workbench, он также не возвращает его.
Это база данных INNODB.
Что мне не хватает?
(Примечание: я не могу использовать TRUNCATE из-за наличия ограничений).
Почему бы не просто обрезать стол? Это воссоздает его по существу со всеми ограничениями и т. Д.? – Namphibian
@Namphibian: не удается обрезать таблицу с активными ограничениями, и, как я сказал в вопросе, я не хочу бросать и воссоздавать ограничения в скрипте для создания тестовых данных. –
Какие ограничения? –