обновить несколько строк с помощью предела в mysql?

В Oracle существует подобный оператор под названием ВЫХОД, который или выходит из цикла или функции/процедуры (если нет никакого цикла для выхода от). Можно добавить, КОГДА проверить на некоторое условие.

Вы могли переписать вышеупомянутый пример следующим образом:

DECLARE
   done  BOOLEAN;
BEGIN
    FOR i IN 1..50 LOOP
     EXIT WHEN done;
   END LOOP;
END;

Это не может быть достаточно, если Вы хотите выйти от в глубине души некоторых вложенных циклов и логики, но намного более ясно, чем несколько GOTOs и АННУЛИРУЕТ.

28
задан Juan Mellado 1 May 2012 в 14:35
поделиться

1 ответ

Если вам действительно нужно сделать это таким образом, вы можете использовать что-то вроде этого:

 UPDATE messages SET test_read=1
 WHERE id IN (
     SELECT id FROM (
         SELECT id FROM messages 
         ORDER BY date_added DESC  
         LIMIT 5, 5
     ) tmp
 );
53
ответ дан 28 November 2019 в 03:01
поделиться
Другие вопросы по тегам:

Похожие вопросы: