MySQL как обновить поле, в котором число по id DES C больше, чем значение - PullRequest
0 голосов
/ 28 апреля 2020

У меня есть таблица, в которой хранится некоторая системная информация. Я хотел бы сделать обновление, которое устанавливает 0 в рулон

UPDATE table set print='0' where user_id='98'

Но я не хочу обновлять весь реестр. Мне нужно оставить без изменений последние 10 записей в БД и установить 0 для 11-го и более.

1 Ответ

1 голос
/ 28 апреля 2020

Вы можете использовать подзапрос, чтобы исключить последние 10 записей, как определено в некотором столбце отметки времени:

UPDATE yourTable
SET print = '0'
WHERE
    user_id = '98' AND
    id NOT IN (SELECT id FROM (SELECT id FROM yourTable
                               WHERE user_id = '98'
                               ORDER BY timestamp DESC LIMIT 10) x);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...