![]() |
сброс auto increment
при добавлении значения поля авто инкремент увеличивается на 1 по сравнению с предыдущим.
но если удалить некоторые записи например несколько последних при следующей вставке записи ее значение все равно больше последнего до удаления. например были записи 1 ... 2 ... 3 ... 4 ... 5 ... удалили например 3 4 5 добавили еще одну у нее значение автоинкрементного поля 6 а не 3, что и естественно. Вот и вопрос: как сбросить или установить свое значения для счетчика поля auto incterement'a. P.S.Извиняюсь за костлявость вопроса, торопился, но надеюсь меня поняли. |
Вопрос: нафига?
|
да не красиво как-то когда 1 2 3 4 5 126 580 1501 1502
и перебирать не так удобно |
Цитата:
|
т.е. нельзя.
|
Можно не использовать auto_increment...
|
Цитата:
|
Ну, автоинкремент работает на разных СУБД по разному... Так что вопрос сродни
"а могу я машину заправить дизельным топливом ?" Ну а судя по вопросу, автор не очень представляет себе зачем оный юзают... Рекомендую почитать теорию :) |
Цитата:
|
Цитата:
|
ну не нужно, так не нужно
|
Цитата:
|
автоинскремиент никак не изменишью можно только разбить дабавление запимсей на 2 части. 1-я SELECT MAX(id) as new_id
ну и соответственно во второй части вставлять этот id |
Цитата:
|
а так ?
ALTER TABLE `table` AUTO_INCREMENT=<number> |
Цитата:
P.S. Опять же: не забываем про многопользовательский режим. Пока ты делаешь alter table -- другой пользователь уже вставил десять новых записей. |
а LOCK TABLES ?
|
Цитата:
Главный вопрос: ЗАЧЕМ. :) Извращений-то можно придумать немало... :) |
Цитата:
а вот что мне интересно: что будет когда поле auto_increment перевалит за "максимум"? т.е. если его тип "int unsigned", что будет при добавлении новой записи, когда оно равно 4294967295 ? |
Цитата:
Цитата:
|
Цитата:
Цитата:
|
Цитата:
|
Tinyint применяют иногда... Для словарей.
Разработчики утверждают, что рестарт сервера сбрасывает счетчик для автоинкремента. У меня не получилось. А для желающих использовать tinyint(1) для таких столбцов - всегда есть два пути: set insert_id=1; или: alter table bla-bla drop id; alter table bla-bla add id TINYINT auto_increment; А если кто скажет, что у него auto_increment TINYINT да еще и уникальный ключ в таблице - тому точно к доктору надо. И, боюсь, электричество не поможет. |
Цитата:
|
| Часовой пояс GMT +4, время: 19:41. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.