Forum Webscript.Ru
Общие => Базы данных => Тема начата: Crazy Man от 27 Апреля 2002, 16:56:56
-
Можно ли написать такой тригерр (или что-нибудь другое), чтобы автоматически смещались номера ID, при удаление пользователя.
-
для этого есть свойство auto_increment
-
Спасибо что ответили.
auto_increment только добавляет ID, а не смещает номера при удаление пользователя.
-
Crazy Man
Ну грубо говоря ты удалешь пользователя номер 75
делаешь вот что:
update table set id=id-1 where id>75
PS: а какой смысл чтобы все номера шли по порядку?
-
Большое спасибо.
А нужно это для уникальности ID.
-
auto_increment только добавляет ID, а не смещает номера при удаление пользователя.
Тип таблицы какой? В MyISAM точно "смещает":
Допустим у тебя, 10 записей с id от 1 до 10 (поле с атрибутом auto_increment), удаляешь запись с id=10, далее вставляешь запись (вместо значения id - "NULL") - получаешь запись с id=11, а не 10. Уникальность id никогда не нарушится.
-
Вот этот ответ мне подходит
update table set id=id-1 where id>75
Но все равно спасибо.
-
YA
MyISAM точно "смещает":
он будет "смещать" когда лимит ID исчерпается
-
:) я под "смещением" подразумевал совершенно другое... в общем, не важно. Но думал про уникальность id...
Вот, что писал Crazy Man:
чтобы автоматически смещались номера ID, при удаление пользователя.
А нужно это для уникальности ID.
???
Если это совместить, уникальность, как раз наоборот, будет нарушена! Либо смещение id при удалении записи, либо уникальность!