Общие > Базы данных
Присвоение новых ИД
Sniper:
У меня есть MYSQL таблица, вней несколько записей.
У каждой записи есть поле с автоинкрементным ИД.
Проблема: Если удалить какую-нибудь из записей.
То с номерами ИД получается некрасиво: номера не подряд идут. То есть если удалили запись с ИД = \'5\' , то в таблице не будет этого ИД. А мне надо подряд, потому как скрипт у меня есть, к-ры выбирает случайное число из диапазона, где диапазон - количество записей в таблице. Если некоторых ИД не будет, то скрипт ничесго не выберет.
Возможно ли после удаления записи как нибудь пересортировывать ИД. Чтобы они были подряд.
fidget:
> Возможно ли после удаления записи как нибудь пересортировывать ИД. Чтобы они были подряд.
Не думаю что есть в этом большая необходимость. ИД генерится уникальным и нужен только для того, что бы идентифицировать запись в таблице. Красиво или не красиво тут никаким боком лежать не должно. А если тебе красиво записи потом из таблицы вывести нужно, то это делай с помощью своего скрипта/программы и т.д.
Sniper:
fidget
Если бы ты внимательно прочел вопрос, то, возможно, понял бы зачем мне это нужно.
--- Цитировать ---Если некоторых ИД не будет, то скрипт ничесго не выберет.
--- Конец цитаты ---
Metaller:
--- Цитировать ---fidget
Если бы ты внимательно прочел вопрос, то, возможно, понял бы зачем мне это нужно.
--- Конец цитаты ---
Вообще-то, Fidget - "она". Это раз.
А во-вторых - надо писать нормально скрипты и учить SQL - тогда таких вопросов не возникнет.
ThE0ReTiC:
Sniper
Можно. Только это идиотизм - использовать автоинкрементное поле для упорядоченной выборки.
А количество записей в таблице можно получить вообще не отталкиваясь от последнего значения ID.
Да и задачка твоя решается без использования упорядоченного списка всего двумя запросами к базе.
Задачка-то для решения в уме :)
[off]Ничего личного[/off]
Навигация
Перейти к полной версии