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

Форум MySQL

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

 

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

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

тема: Про сквозную нумерацию...
 
 автор: serjinio   (27.06.2008 в 00:34)   письмо автору
 
 

В БД три поля ID-первичный ключ и автоинкрементное
id      s      n
1       1      один
2       2      два
7       3      три
16     4     четыре



Удаляем строку с id=7
получаем дырку в нумерации по столбцу s

id      s      n
1       1      один
2       2      два

16     4     четыре

Как пересчитать столбец s чтобы получить

id      s      n
1       1      один
2       2      два

16     3     четыре

   
 
 автор: elenaki   (27.06.2008 в 10:19)   письмо автору
 
   для: serjinio   (27.06.2008 в 00:34)
 

совершенно ненужный столбец и совершенно ненужная операция (нумерация "по порядку").
никакого порядка в базе нет. порядок можно установить только при выборке - ORDER BY ...
ASC или DESC. счетчик организуется в цикле с 1 до последнего выбранного значения.

   
 
 автор: serjinio   (27.06.2008 в 13:57)   письмо автору
 
   для: elenaki   (27.06.2008 в 10:19)
 

для моей задачи нужный, поэтому и его и ввел

   
 
 автор: Trianon   (27.06.2008 в 14:21)   письмо автору
 
   для: serjinio   (27.06.2008 в 13:57)
 

UPDATE tbl
 SET s = s - 1
 WHERE s > 3

   
 
 автор: ronin80   (27.06.2008 в 11:46)   письмо автору
 
   для: serjinio   (27.06.2008 в 00:34)
 

какой столбец автоинкрементый?

   
 
 автор: serjinio   (27.06.2008 в 13:56)   письмо автору
 
   для: ronin80   (27.06.2008 в 11:46)
 

Автоинкрементный ID

   
 
 автор: ronin80   (27.06.2008 в 15:38)   письмо автору
 
   для: serjinio   (27.06.2008 в 13:56)
 

а если таких дырок несколько, например

1

3
4

6
7

9

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

или просто необходимо запустить цикл по таблице и разом проставить эти номера? перенумеровать в определённый момент?

   
Rambler's Top100
вверх

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