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

Форум MySQL

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

 

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

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

тема: Редактирование записи в таблице.
 
 автор: Dez   (25.07.2006 в 16:30)   письмо автору
 
 

В таблице есть поле 'new' в некоторых строках значение 'on' в некоторых 'off'
Как обновить это поле чтобы везде поставилось 'off' кроме последних 20 записей где присутствует 'on' ?

$upd_query = "UPDATE tbl SET new = 'off' WHERE new LIKE 'on'";

   
 
 автор: cheops   (25.07.2006 в 17:41)   письмо автору
 
   для: Dez   (25.07.2006 в 16:30)
 

В таблице есть поле даты или инкрементный столбец? Дело в том, что записи могут быть расположены в случайном порядке и нужен критерий сортировки.

   
 
 автор: Dez   (25.07.2006 в 23:03)   письмо автору
 
   для: cheops   (25.07.2006 в 17:41)
 

Есть id

   
 
 автор: cheops   (25.07.2006 в 23:41)   письмо автору
 
   для: Dez   (25.07.2006 в 23:03)
 

Тогда можно воспользоваться таким запросом
UPDATE tbl SET new = 'off' 
WHERE new LIKE 'on'
ORDER BY id DESC
LIMIT NNN

где NNN - число записей в таблице - 20.

   
 
 автор: Dez   (26.07.2006 в 22:31)   письмо автору
 
   для: cheops   (25.07.2006 в 23:41)
 

разве этот скрипт обновит все записи кроме 20 послединх? А не обновит ли он только эти 20 последних?

   
 
 автор: cheops   (26.07.2006 в 23:39)   письмо автору
 
   для: Dez   (26.07.2006 в 22:31)
 

Если в качестве NNN использовать число записей минус 20, то обновятся все записи кроме полследних 20, так как используется обратная сортировка (ORDER BY ... DESC).

   
 
 автор: Dez   (27.07.2006 в 20:09)   письмо автору
 
   для: cheops   (26.07.2006 в 23:39)
 


UPDATE tbl SET new = 'off'  
WHERE new LIKE 'on' 
ORDER BY id DESC 
LIMIT -20

Тоесть так?

   
Rambler's Top100
вверх

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