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

Форум MySQL

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

 

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

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Как перенумеровать записи по порядку?

Сообщения:  [1-10]   [11-17] 

 
 автор: cheops   (01.09.2006 в 22:22)   письмо автору
 
   для: Владимир22   (01.09.2006 в 22:18)
 

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

   
 
 автор: Владимир22   (01.09.2006 в 22:18)   письмо автору
 
   для: cheops   (01.09.2006 в 22:15)
 

Это ручная работа будет небольшой головной болью, если часто надо будет перенумеровывать.
Жаль, что нет способа решать эту проблему автоматически (скриптами)...

   
 
 автор: cheops   (01.09.2006 в 22:15)   письмо автору
 
   для: tAleks   (01.09.2006 в 17:36)
 

В таблице имеется поле, снабжённое атрибутом AUTO_INCREMENT? Если нет, можно сделать такой финт ушами: отсортировать таблицу физически по полю pos
ALTER TABLE tbl ORDER BY pos

Затем уничтожить столбец pos и создать по новой, но с атрибутом AUTO_INCREMENT и уникальным ключом по полю - значения столбца автоматически пронумеруются от 1 до N (причём в нужном порядке, так как таблица будет отсортирована физически), затем снять атрибут AUTO_INCREMENT и ключ с поля.

   
 
 автор: tAleks   (01.09.2006 в 18:28)   письмо автору
 
   для: Trianon   (01.09.2006 в 17:55)
 

много их... и лень...

   
 
 автор: Trianon   (01.09.2006 в 17:55)   письмо автору
 
   для: tAleks   (01.09.2006 в 17:35)
 

так а что мешает поправить эти поля в том же phpMyAdmin?

   
 
 автор: tAleks   (01.09.2006 в 17:36)   письмо автору
 
   для: cheops   (01.09.2006 в 08:50)
 

В смысле? Как отредактировать?

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

   
 
 автор: tAleks   (01.09.2006 в 17:35)   письмо автору
 
   для: Trianon   (01.09.2006 в 14:04)
 

Одинаковые pos получились в результате, экспериментов... сейчас логика работает нормально...
но то что закасячено, надо исправить....

   
 
 автор: Trianon   (01.09.2006 в 14:04)   письмо автору
 
   для: tAleks   (31.08.2006 в 18:11)
 

тогда каким образом получились одинаковые pos?

Перед тем, как лечить базу, имеет смысл вылечить логику.
А то эти pos опять наплодятся.

   
 
 автор: cheops   (01.09.2006 в 08:50)   письмо автору
 
   для: tAleks   (31.08.2006 в 16:13)
 

А на это поле никто не ссылается? Т.е. если его отредактировать - связи не порушатся?

   
 
 автор: tAleks   (31.08.2006 в 18:11)   письмо автору
 
   для: Trianon   (31.08.2006 в 18:02)
 

Сейчас pos назначается так:

SELECT (MAX(pos) + 1) FROM ... WHERE id_group = ....

   

Сообщения:  [1-10]   [11-17] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

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