Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Сплошная нумерация в базе данных
 
 автор: Poul   (04.12.2007 в 16:11)   письмо автору
 
 

Пишу код, на PHP, который в базе находит строки удовлетворяющие условию, получаем id строк и удаляем их. Вопрос вот в чем, надо чтобы id всегда шли по порядку, то есть если я удалил строку с id =2 то все строки с большим id должны поменять на -1, и вот засада как только первый раз происходит смена id дальше скрипт работает не правильно потому что идет несовпадение.

   
 
 автор: bronenos   (04.12.2007 в 16:14)   письмо автору
 
   для: Poul   (04.12.2007 в 16:11)
 

я бы крайне не советовал менять id

   
 
 автор: Poul   (04.12.2007 в 16:53)   письмо автору
 
   для: bronenos   (04.12.2007 в 16:14)
 

это почему?
может я просто не все написал, эта таблица просто типа буфера, туда заносится инфа о том что сейчас открыто у пользователя, если пользователь закрывает страничку, то строка удаляется, не меняя id есть вероятность что номер уйдет очень далеко, это не подходит...
А на вопрос можно не отвечать уже сам написал.. счетчик ввел, при удачном запросе увеличивается на 1, тем самым отслеживая на сколько единиц сдвинулось id.

   
 
 автор: ddhvvn   (04.12.2007 в 17:07)   письмо автору
 
   для: Poul   (04.12.2007 в 16:53)
 

Для того он и id (уникальный идентификатор)!

   
 
 автор: Poul   (04.12.2007 в 18:13)   письмо автору
 
   для: ddhvvn   (04.12.2007 в 17:07)
 

Так я же с этим не спорю, он и остается уникальным, но мне принципиально чтобы значения не пропускались, а если строка удаляется то ее надо чем-то заполнить. по другому конечно можно но это очень проблематично, слишком программа сложная. Я и так уже четвертый месяц мучаюсь...

   
 
 автор: Trianon   (04.12.2007 в 23:34)   письмо автору
 
   для: Poul   (04.12.2007 в 18:13)
 

Вам дело говорят. Первичный ключ назначают один раз. И после этого к нему не прикасаются.
На дырки - плюют.
Если перестает хватать чисел ( что крайне трудно достичь вообще-то) сжимают всю БД отдельным скриптом.

   
 
 автор: Faraon   (04.12.2007 в 23:48)   письмо автору
 
   для: Trianon   (04.12.2007 в 23:34)
 

Судя по поднятой проблеме, автор использует первичный ключ в качестве нумерации при выводе.

   
 
 автор: Trianon   (04.12.2007 в 23:53)   письмо автору
 
   для: Faraon   (04.12.2007 в 23:48)
 

ну так пусть перестанет использовать.

   
 
 автор: Faraon   (04.12.2007 в 23:55)   письмо автору
 
   для: Trianon   (04.12.2007 в 23:53)
 

Это к автору, а не ко мне :)

   
 
 автор: Trianon   (05.12.2007 в 00:13)   письмо автору
 
   для: Faraon   (04.12.2007 в 23:55)
 

Так , однако ж, аспект, упомянутый Вами в 04.12.2007 в 23:48, ко мне имеет отношение тоже весьма далекое...

   
 
 автор: Poul   (05.12.2007 в 11:44)   письмо автору
 
   для: Trianon   (05.12.2007 в 00:13)
 

К чему споры? все равно уже написал, а id действительно используется при выводе, и это увы не просто моя прихоть, есть ТЗ - по нему и делаю, изменить ничего нельзя. Всем спасибо... думаю тему можно закрыть.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования