Ключ добавляется не по порядку, можно ли изменить?
есть таблица с ключом (auto increment, not null), есть, предположим 3 записи с ключом 1,2,3 и если добавить ещё одну с ключом 7 (1, 2, 3, 7) и позже удалить её, то при последующем добавлении записи без указания ключа, то ключ установиться как 8 (1, 2, 3, 8) а не 4, можно ли как то исправить?
Держите: befused.com/mysql/reset-auto-increment
А вообще, пару недель назад был такой же вопрос и решалось все 1 строкой в конфигурации. Если найду его - дополню ответ.
что такое ключ в таблице? Это данные, добавляющие уникальность поля. И нарушать эту безопасность во время работы абсолютно не нужно - рисуете потерять связи с другими таблицами. Есть, конечно, всякие методы о каскадировании, но обычно кто пользуется к аскадированием не занимется подобными решениями.
Если вы переживаете о том, что на ваш век циферей в ключе не хватит, то сначала посчитайте количество возможных вариантов в целочисленном виде. 32-бита дают 4294967295 вариантов. Даже если добавлять в секунду одну запись, то этих значений хватит на 4294967295/(60*60*24) =49710 дней = 136 лет.
Но даже в таких случаях просто увеличивают разрядность. Например 64 разряда дают число 9.223372e+18. На сколько хватит этого размера посчитайте сами.
Но речь идет о мускуле, который имеет своих тараканов. А в часности: при объявлении поля типом int генерируется размер доспупный на 10 десятичных знаков. В нем умещается масимальное значение 9999999999 равное приблизительно 317и годам.