MySQL и AUTO_INCREMENT

Discussion in 'PHP' started by Midas, 7 Apr 2009.

  1. Midas

    Midas Elder - Старейшина

    Joined:
    17 Jan 2008
    Messages:
    241
    Likes Received:
    45
    Reputations:
    1
    Есть таблица с полем id int(2) которое автоинкрементируется. Удаляем запись. Например с id = 7. Соответственно последним в таблице остаётся id = 6. Но при создании новой записи ей присваевается id = 8. В результате список получается 1,2,..,6, 8 . Задача: получать автоинкремент именно по порядку.

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

    blaga Elder - Старейшина

    Joined:
    23 Mar 2006
    Messages:
    884
    Likes Received:
    273
    Reputations:
    106
    таблица запоминает какой иммено индекс поставить. например если у такой таблицы нажать на экспорт то там при структуре будет и такая строка

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

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

    VDShark Elder - Старейшина

    Joined:
    1 Feb 2007
    Messages:
    260
    Likes Received:
    158
    Reputations:
    62
    Этот вопрос поднимался стотыщмильонаф раз. И я, и другие люди уже отписывались по этому поводу, почему так не стоит делать. Порыскай по форуму - думаю найдеш ответ на свой вопрос.
    upd: вот к примеру уже был ответ на аналогичный вопрос
    /showpost.php?p=707028&postcount=71
     
    #3 VDShark, 7 Apr 2009
    Last edited: 7 Apr 2009
  4. MuXaJIbI4

    MuXaJIbI4 Member

    Joined:
    20 Nov 2008
    Messages:
    66
    Likes Received:
    7
    Reputations:
    0
    Midas не занимайся глупостями .... как идут так пусть идут .... то что ты хочешь тебе не надо
     
  5. Krist_ALL

    Krist_ALL Banned

    Joined:
    14 Jan 2009
    Messages:
    436
    Likes Received:
    193
    Reputations:
    24
    ДА, многие пугаются того, что вот были индексы 1,2,3 а потм удалили какой-нить ид и добавили новый и получилось 1,2,4. НИЧЕГО СТРАШНЕГО. id = это не порядковый номер и не нада на него полагатся. Еслм хочется. чтоб у каждой записи был порядковый правильный номер,, то придется отделбную колонку заводить и при добавлении вычислять скока строк в бд + 1.. Но это не нужно в 99%
     
  6. Midas

    Midas Elder - Старейшина

    Joined:
    17 Jan 2008
    Messages:
    241
    Likes Received:
    45
    Reputations:
    1
    да, я уже понял. Сперва на вебборде мускуль.ру, теперь здесь. Хотел одну функцию привязать к записи в базе намертво, зацепившись за id. Неполучилось и теперь начинаю понимать, что хорошо, что не получилось.