Auto Increment

  • Автор темы Theodor Fantom
  • Дата начала

Theodor Fantom

Guest
Auto Increment

Здравствуйте Народ Добрый
Подскажите пожалуйста ответ на вопрос
допустим у меня есть таблица где id: AUTO_INCREMENT
и содержит записи от 1-100, так вот как можно реализовать следующий механизм, допустим я удаляю запись под номером 16, в итоге получается 14,15,17,18...(запись удаляется и на ее месте получается "пробел") Как можно сделать, чтобы после удалениия столбец id как бы обновлялся не допуская таких "пробелов", т.е при удалении 16 записи, она удалялась и все id до и после нее заново переписывались уменьшаясь на один? Есть ли такая функция в MySQL или придется самому забодится о id?
 

Фанат

oncle terrible
Команда форума
Theodor Fantom
Вопрос, который ты задал, возникает настолько часто, что его внесли в FAQ
будь любезен - прочти его
http://faq.phpclub.ru/practice.mysql.html

надеюсь, после этого сия нелепая идея оставит твою голову.
Если же нет, то приходи снова, мы попытаемся объяснить тебе эту очевидную вещь - полную бессмысленность твоего желания и несоответствие азам построения реляционных баз данных.
 

Theodor Fantom

Guest
Спасибо, я ЭТО понимаю, но мне не нужно связывать эту таблицу еще с какой нибудь и плюс к этому я немогу ввести поле нумерации на php контекст задачи этого непозволит :-(, Так есть такая функция? или придеться писать самому?
PS как может нарушиться целостность если таблица одна?
 

Фанат

oncle terrible
Команда форума
господибожемой.
откуда вы таки еберетесь? впрочем, вижу.

если тебе не нужно это поле, как уникальный идентификатор (в чем я ОЧЕНЬ сильно сомневаюсь), то тогда автоинкремент не нужно использовать вообще.
Так есть такая функция?
НЕТУ!
И быть не может.
Потому, что в ней нет смысла и она ВРЕДНА!
Потому, что функции пишут УМНЫЕ люди. которые понимают смысл того, что они делают.
как может нарушиться целостность если таблица одна?
целостность представления!
я не собираюсь тебе сейчас приводить примеры, потому, что ты мне на это будешь хлопать своими наивными глазками и рассказывать, что в ДАННОМ КОНКРЕТНОМ случае у тебя никаких коллизий не будет.
Если ты не понял, что поле с автоинкрементом служит
ТОЛЬКО
ДЛЯ
УНИКАЛЬНОЙ
ИДЕНТИФИКАЦИИ
чтобы и через тыщу лет - если обратился к строке с таким ид - вернуло именно ЭТУ строку.
если ты этого не понял, то беседовать с тобой бесполезно.
увы, понятие уникальной идентификации гораздо сложнее, чем красивый ряд цыферок.
но я попытаюсь тебяе объяснять.

Как там тебя зовут? Алдынбай Бахыт Момышевич?
вот представь, что воспитательница в детсом саду, для удобства - ей журнал лень переписывать, КОНТЕКСТ НЕ ПОЗВОЛЯЕТ, вчера звала тебя Алдынбаем, а завтра зовет Люякебаем.
И справки выдает о прививках тоже - Люлякебаю.
А Люлякебай прививки не делал. Давай вперед по новой.
Понравится тебе это? Что тебя сегодняя зовут одним именем, завтра - другим?

ввести поле нумерации на php контекст задачи этого непозволит
ага-ага
ввести поле нумерации контекст не позволит, а вводить на пхп тупую процедуру перенумерации контекст позволяет - да?
 

Theodor Fantom

Guest
Если такой умный, то это недает тебе права оскоблять
"господибожемой.
откуда вы таки еберетесь? впрочем, вижу.", воспитанный человек просто бы промолчал или ответил , все равно спасибо тебе.
PS
Если ты не понял, что поле с автоинкрементом служит
ТОЛЬКО
ДЛЯ
УНИКАЛЬНОЙ
ИДЕНТИФИКАЦИИ
Про теорию мне нужно говорить я ее сам прекрасно понимаю
если ты еще объяснишь какая может быть уникальность в пределе одной таблицы? кроме того как что в поле id не должно быть повторений, Спасибо За то что ответил я просто сам сомневался в существовании такой функции
 

Фанат

oncle terrible
Команда форума
Про теорию мне нужно говорить я ее сам прекрасно понимаю
ха ха ха

вот в этом утверждении смехотворном и кроется причина всех бед.
ты ее не то что прекрасно - у тебя в голове вместо теории фантастика сдетективами.
с таккими знаниями надо слушать, открыв рот, и делать, что говорят
а не заявлть, что ты все знаешь
если ты еще объяснишь
я тебе объяснил.
настолько примитивно, насколько смог.
более примитивно - извини - не умею.
 

Theodor Fantom

Guest
Проехали, задачу я уже решил просто ввел дополнительное поле, А тебе советую не классифицировать людей по нац. признаку
 

Фанат

oncle terrible
Команда форума
я тебя классифицирую совсем по другому признаку.
 

Theodor Fantom

Guest
А я тебе повторяю Я сомневался, вопрос был поставлен возможно ли, ты объяснил что это "НЕТУ!
И быть не может.
Потому, что в ней нет смысла и она ВРЕДНА!"
На этом мог бы остановиться
 

Фанат

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