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

Форум MySQL

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

 

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

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

тема: UPDATE - помогите с запросом
 
 автор: !!Yurchik!!   (04.04.2005 в 21:20)   письмо автору
 
 

Мне нужно уменьшить на 1 поле position для всех записей, у которых поле position больше заданной переменной. Этот запрос почемуто не работает,,,

$query = "UPDATE tx_photogallery_photos_inf SET position=position-1 WHERE position>'$cur_position'";

Заранее спасибо

   
 
 автор: cheops   (05.04.2005 в 00:24)   письмо автору
 
   для: !!Yurchik!!   (04.04.2005 в 21:20)
 

А как проявляется его не работа? Вроде всё правильно...

   
 
 автор: !!Yurchik!!   (05.04.2005 в 17:59)   письмо автору
 
   для: cheops   (05.04.2005 в 00:24)
 

А, теперь все понятно... Проблема была не в этом.
Ситуация такая: я выбираю из таблицы несколько записей (их может быть порядка 10-и - 20-и), после этого в цикле проверяю каждую запись на наличие определенного параметра и удаляю ее, если этот параметр не установлен. При этом мне нужно уменьшить поле position для тех записей, у которых оно больше, чем у заданой записи, чтобы записи "подвинулись".
Но тут одна проблема: я например удаляю подряд 3-ю и 4-ую запись. При удалении 3-ей у 4-ой position должен был стать 3, но когда я перхожу к 4-ой, у нее по прежнему это поле равно 4, я думаю потому, что эти записи выбраны оператором SELECT до цикла... Так вот, подскажите, как устранить эту проблему.
Спасибо

   
 
 автор: cheops   (05.04.2005 в 22:35)   письмо автору
 
   для: !!Yurchik!!   (05.04.2005 в 17:59)
 

А нельзя сначала удалить при помощи SQL-оператора DELETE записи у которых отсутствует этот параметр, а уж после этого провести изменения в базе данных по полю position?

   
 
 автор: !!Yurchik!!   (06.04.2005 в 17:06)   письмо автору
 
   для: cheops   (05.04.2005 в 22:35)
 

ну да... это пожалуй единственный варианит... спасибо

   
Rambler's Top100
вверх

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