Обновление части данных одним запросом (нужно красивое решение)

  • Автор темы Автор темы grey109
  • Дата начала Дата начала

grey109

Новичок
Обновление части данных одним запросом (нужно красивое решение)

Есть таблица с двумя полями: id и статус. Статус может быть 0 или 1.

Задача: нужно у всех id, за исключание первых 10 поменять статус, например с 1 на 0.

Подскажите, как это по красивее сделать?
 
А что не ясно-то?

Таблица:
id / статус
1 / 1
2 / 1
3 / 0
4 / 0
5 / 1
6 / 0
7 / 1
8 / 0
9 / 1
10 / 1
11 / 1
12 / 1
13 / 0
14 / 1
15 / 1

После запроса должно получится:
id / статус
1 / 1
2 / 1
3 / 0
4 / 0
5 / 1
6 / 0
7 / 1
8 / 0
9 / 1
10 / 1
11 / 0
12 / 0
13 / 0
14 / 0
15 / 0
 
Panchous а если у него id не попорядку идти будут ?
update table set status=1-status desc n-10 order by id desc
, где n - это кол-во записей. И если ты их знаешь, то вот ответ.
 
судя по примеру, это никак не по status.
Но в любом случае я с тобой согласен:
grey109 объясняй конкретней по какому столбцу идет сортировка и идет ли она вообще.
 
rotoZOOM
Да, сортировка идет по ИД.

Похоже лучше твоего варианта ничего не придумаешь...
 
Во, калеки..
update table set status=0 LIMIT 9,18446744073709551615;

RTFM!
 
chira LIMIT в UPDATE имеет только один параметр. Вариант не проходит, я тоже о нем в первую очередь подумал.
 
Сверху