Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Убрать пропуски в автоинкрементном поле
 
 автор: hex   (07.07.2010 в 17:29)   письмо автору
56.2 Кб
 
 

есть поле
id AUTO_INCREMENT PRIMERY KEY при удалении id 2 из id 4 и добавлении новой записи в id 2 записывается пятёркой 
вопрос как после удаление 2 записалось 3 а не 5


пример в файле

за ранее Спасибо!

  Ответить  
 
 автор: Gubichev   (07.07.2010 в 17:45)   письмо автору
 
   для: hex   (07.07.2010 в 17:29)
 

AUTO_INCREMENT нумерует строки по порядку. Даже если удалить, к примеру, с 2 по 50 запись, следующая добавленная всё равно будет 51

  Ответить  
 
 автор: HeX   (07.07.2010 в 17:52)   письмо автору
 
   для: Gubichev   (07.07.2010 в 17:45)
 

а кек же можно решить такое не подскажеш ?

  Ответить  
 
 автор: fetish   (07.07.2010 в 17:53)   письмо автору
 
   для: hex   (07.07.2010 в 17:29)
 

реализовать-то можно, но... это, мягко говоря, бредовая идея
было у меня 100к записей. я удалил 3-ю. что делать с id записей с 4 по 100к ? менять им айдишники? или следующий инсерт проводить на 3-й id ?
в первом случае мы получаем зависание сервиса на секунду-другую (а если записей миллионы?), а во-втором случае, получаем, что по на один и тот же запрос (адрес, ссылку и т.д.), мы до- и после- удаления-вставки получаем разные свойства объекта с одним и тем же идентификатором. кроме того во втором случае так же появяться накладные расходы на процедуру поиска дырок в последовательности значений id-колонки при каждом инсерте.

id - на то и id, что бы быть уникальным для каждой записи. и если запись умирает, то id умирает вместе с ним. мы же не оставляем свой id (паспорт) по наследству. умер человек - уничтожается паспорт.

З.Ы.
кстати в случае транзакций правка id может привести к косякам и даже к краху запроса

  Ответить  
 
 автор: HeX   (07.07.2010 в 17:58)   письмо автору
 
   для: fetish   (07.07.2010 в 17:53)
 

Огромное спосибо за разеснение

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования