sql >> Databáze >  >> RDS >> Mysql

Příkaz mysql delete s limitem

V DELETE nelze určit posun LIMIT doložka.

Takže jediný způsob, jak to udělat, je přepsat váš dotaz na něco jako:

DELETE FROM `chat_messages` WHERE id IN (select id from (select id
                                           FROM `chat_messages`
                                       ORDER BY `timestamp` DESC
                                          LIMIT 20, 50) x)

Předpokládejme, že máte primární klíč id sloupec

UPD :musíte implementovat dvojité vnoření, abyste oklamali mysql, protože neumožňuje výběr z aktuálně upravené tabulky (díky Martinu Smithovi)




  1. Vícesloupcový index na 3 polích s heterogenními datovými typy

  2. jak vybrat max. smíšeného sloupce string/int?

  3. Jak MID() funguje v MariaDB

  4. Django seskupit podle dat a hodnot SUM