Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   PHP, PERL, MySQL, JavaScript (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   MySQL и AUTO_INCREMENT (https://forum.antichat.xyz/showthread.php?t=114805)

Midas 07.04.2009 02:44

MySQL и AUTO_INCREMENT
 
Есть таблица с полем id int(2) которое автоинкрементируется. Удаляем запись. Например с id = 7. Соответственно последним в таблице остаётся id = 6. Но при создании новой записи ей присваевается id = 8. В результате список получается 1,2,..,6, 8 . Задача: получать автоинкремент именно по порядку.

Непойму, толи я чё-то не дочитал, толи время суток о себе напоминает...

blaga 07.04.2009 05:37

таблица запоминает какой иммено индекс поставить. например если у такой таблицы нажать на экспорт то там при структуре будет и такая строка

) ENGINE=MyISAM AUTO_INCREMENT=8 DEFAULT CHARSET=utf8 COLLATE=utf8_bin PACK_KEYS=0 AUTO_INCREMENT=8 ;

в твоем случае наверное придеться получать последний id и к нему плюсовать 1...

VDShark 07.04.2009 08:54

Этот вопрос поднимался стотыщмильонаф раз. И я, и другие люди уже отписывались по этому поводу, почему так не стоит делать. Порыскай по форуму - думаю найдеш ответ на свой вопрос.
upd: вот к примеру уже был ответ на аналогичный вопрос
https://forum.antichat.ru/showpost.php?p=707028&postcount=71

MuXaJIbI4 07.04.2009 10:11

Midas не занимайся глупостями .... как идут так пусть идут .... то что ты хочешь тебе не надо

Krist_ALL 07.04.2009 15:14

ДА, многие пугаются того, что вот были индексы 1,2,3 а потм удалили какой-нить ид и добавили новый и получилось 1,2,4. НИЧЕГО СТРАШНЕГО. id = это не порядковый номер и не нада на него полагатся. Еслм хочется. чтоб у каждой записи был порядковый правильный номер,, то придется отделбную колонку заводить и при добавлении вычислять скока строк в бд + 1.. Но это не нужно в 99%

Midas 07.04.2009 20:55

да, я уже понял. Сперва на вебборде мускуль.ру, теперь здесь. Хотел одну функцию привязать к записи в базе намертво, зацепившись за id. Неполучилось и теперь начинаю понимать, что хорошо, что не получилось.


Время: 05:11