| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > PHP: Базы Данных > Как обнулить ID, если таблица была очищена? |
| Автор: ukrsonic 25.1.2008, 15:26 |
| Здравствуйте, почистил таблицу от тестовых записей, и поле id естесна пустое. Вставляю новые данные, INSERT INTO table VALUES ('NULL', 'value1'....) Потом, просматриваю данные, как они вставились. Смотрю в поле id а там 0025, 0026, 0027..... хотя полагал что будет так id = 0001, 0002, 0003, ... Странно, видимо MySQL держит в памяти последний индентификатор поля ID, т.к. начинает делать AUTO_INCREMENT не с нуля. Чем такое может быть вызвано? Или как сделать reset поля id? К базе использую постоянное соединение mysql_pconnect(); |
| Автор: bars80080 25.1.2008, 15:56 |
| id - штука уникальная, она по-любому будет не повторяться, так и должно быть а зачем тебе обнуление? причин не вижу |
| Автор: MoLeX 25.1.2008, 16:01 | ||
вроде так
|
| Автор: SelenIT 25.1.2008, 17:17 |
| А TRUNCATE TABLE разве автоинкремент не сбрасывает? |
| Автор: MoLeX 26.1.2008, 10:03 | ||
нет. для этого есть пхпмайадмин)))) Добавлено через 1 минуту и 1 секунду
вообщето я его протестил и он сработал. так что sTa1kEr тут ты не прав. |
| Автор: ukrsonic 26.1.2008, 21:59 |
| Прошу всех извинить меня за задержку с ответом. Я попробовал этот вариант TRUNCATE [TABLE] tbl_name и он отлично сработал. AUTO_INCREMENT обнулился! (Все данные в таблице удалились тоже. Будте осторожны!) Спасибо огромное! Вопрос закрыт! |
| Автор: Golda 27.1.2008, 09:07 |
| MoLeX, sTa1kEr не утверждал, что Ваш вариант запроса не сбросит автоинкремент. Он обращал Ваше внимание на то, что этот запрос, кроме сброса sequence для автоинкрементного поля, может привести и к другим последствиям. И прежде чем его применять, стоит разобраться, к каким именно и в каком случае. Так что то, что Вы проверили значение нового id после этого запроса, ничего не меняет |