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

Форум MySQL

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

 

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

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

тема: UPDATE строк...
 
 автор: sl1p   (29.01.2010 в 21:05)   письмо автору
 
 

Можно ли както обновить поле position начиная от 1 автоинкрементируя его на следующей строке?..

тоесть например :

SELECT * FROM table ORDER BY id DESC

и в этом порядке как они выбрались поставить им всем `position` начиная с 1?

  Ответить  
 
 автор: Лена   (29.01.2010 в 21:23)   письмо автору
 
   для: sl1p   (29.01.2010 в 21:05)
 

Если я Вас правильно поняла. Недавно сама такое делала. Конец темы.
http://softtime.ru/forum/read.php?id_forum=3&id_theme=71312

  Ответить  
 
 автор: Trianon   (29.01.2010 в 21:25)   письмо автору
 
   для: Лена   (29.01.2010 в 21:23)
 

у тредстартера могут быть прорехи в последовательности первичного ключа.

  Ответить  
 
 автор: Лена   (29.01.2010 в 21:27)   письмо автору
 
   для: Trianon   (29.01.2010 в 21:25)
 

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

  Ответить  
 
 автор: sl1p   (29.01.2010 в 21:31)   письмо автору
 
   для: Лена   (29.01.2010 в 21:27)
 

ну да но визуально то както бредово выглядеть будет :)

позиция 1 а следующая 56 :))

  Ответить  
 
 автор: Trianon   (29.01.2010 в 21:34)   письмо автору
 
   для: sl1p   (29.01.2010 в 21:31)
 

Вот не надо!
Поля position применяют для определения порядка вывода.
А никак не для нумерации.
Визуально их никому не предоставляют.

Так что не формально, но по сути - Лена права.

  Ответить  
 
 автор: Лена   (29.01.2010 в 21:36)   письмо автору
 
   для: sl1p   (29.01.2010 в 21:31)
 

Если Вам нужно вывод сделать нумерации, нумеровать же можно по счетчику в цикле.

  Ответить  
 
 автор: sl1p   (29.01.2010 в 21:41)   письмо автору
 
   для: Лена   (29.01.2010 в 21:36)
 

ну это да, так и делаю, решил спросить возможно это ли както на SQL..

зы. насчёт визуального то в админке всё видно например. Понятно что это ничего не решает, но мне так было бы спокойней :)

  Ответить  
 
 автор: Trianon   (29.01.2010 в 21:44)   письмо автору
 
   для: sl1p   (29.01.2010 в 21:41)
 

Если беспокоит, то нужно выпить для разовой акции есть способ расставить чистый нумер.
Нужно
а) физически упорядочить таблицу.
б) снять признак первичного ключа с поля id
в) создать новое поле с первичным ключом и автоинкрементом.
г) снять признак первичного ключа с нового поля
д) вернуть признак на исходный ключ.

Запросы Вы возьмете из мануала.

На практике затевать такое - чистый мазохизм.

  Ответить  
 
 автор: Лена   (29.01.2010 в 21:56)   письмо автору
 
   для: Trianon   (29.01.2010 в 21:44)
 

Так тогда смысл существования поля id вообще пропадает.
У нас есть новое поле, где проставится автоинкремент - его копируем в поле позиции и поле id вообще не при делах оказывается. Или я чего-то не поняла.

  Ответить  
 
 автор: sl1p   (29.01.2010 в 22:12)   письмо автору
 
   для: Trianon   (29.01.2010 в 21:44)
 

хм а нету разве какихто встроеный лупов или т.п.?

я вроде видел в SQL переменные там и всё такое:)
ошибаюсь конечно, может но гдето такое в памяти мелькает)

  Ответить  
 
 автор: Trianon   (29.01.2010 в 22:39)   письмо автору
 
   для: sl1p   (29.01.2010 в 22:12)
 

ищите :)

  Ответить  
 
 автор: sl1p   (29.01.2010 в 23:00)   письмо автору
 
   для: Trianon   (29.01.2010 в 22:39)
 

утикакой
мне лень)
буду юзать пхп циклы :)

спасибо и на том :)

  Ответить  
Rambler's Top100
вверх

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