PHP и MySQL траблы с удалением

dorfey

Guest
PHP и MySQL траблы с удалением

Имеем таблицу в БД Mysql.
один из столбцов содержит индетификаторы (Id) записи (новости). Недавно таблица была полностью очищена. После добовленя новой (первой) записи оказалось что Id был записан начиная не с единицы а такой, который был бы если не очистили таблицу.
Т.е. сейчас у первой записи в таблице Id имеет значение 2745 а не 1.
Слышал что подобные праблы бывают при использовании Денвера и связаны с кэшированием, но у меня все лежит у хостера.
 

Фанат

oncle terrible
Команда форума
это не траблы. И уж тем более - не с удалением. Это совершенно штатная работа.
они не связаны с кэшированием и с денвером (тебе следует хорошенько подумать, прежде, чем впредь прибегать к этому источнику слухов).
тебя вообще эта цифра не должна волновать, поскольку она ровным счетом ничего не означает.
 

dorfey

Guest
Забыл также сказать что Id в Бд вида Автоинкремент, я так понимаю раз я очистил таблицу, то автоматически первая запись получает Id равным 1, разве это не так???
 

Фанат

oncle terrible
Команда форума
автоинкремент означает автоматическое прибавление, а не автоматическое обнуление.
 

4m@t!c

Александр
В мане написано
--set-auto-increment[=value], -A[value]
Force AUTO_INCREMENT numbering for new records to start at the given value (or higher, if there are already records with AUTO_INCREMENT values this large). If value is not specified, AUTO_INCREMENT number for new records begins with the largest value currently in the table, plus one.
и еще написано
You should use TRUNCATE TABLE when you want to delete all rows from a table and you don't need to obtain a count of the number of rows that were deleted. (DELETE FROM tbl_name returns a row count in 4.0 and doesn't reset the AUTO_INCREMENT counter, and TRUNCATE TABLE is faster.)
НО Фанат прав.
тебя вообще эта цифра не должна волновать, поскольку она ровным счетом ничего не означает.
Автоинкремент гарантирует, что значения не повторятся, а значит можно однозначно
идентифицировать строку. что собственно и нужно а раено он 1 или миллиону - это уже все равно.
 

MuXa247

Новичок
Чтоб установить("обнулить") поле в 1 выполни запрос:
ALTER TABLE `table_name`
auto_increment=1
 
Сверху