Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Oświadczenie o usunięciu Mysql z limitem

Nie możesz określić przesunięcia w DELETE LIMIT klauzula.

Jedynym sposobem, aby to zrobić, jest przepisanie zapytania na coś takiego:

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

Przypuśćmy, że masz klucz podstawowy id kolumna

UPD :musisz zaimplementować podwójne zagnieżdżanie, aby oszukać mysql, ponieważ nie pozwala on na wybór z aktualnie zmodyfikowanej tabeli (dzięki Martinowi Smithowi)




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL JOIN / GROUP_CONCAT druga tabela?

  2. Tabela aktualizacji mysql ajax według klasy

  3. Czy istnieje sposób, aby zobaczyć przygotowane zapytanie tak, jak zostanie wykonane w bazie danych?

  4. Wyzwalacz MySQL nie działa, prosta składnia, nieskomplikowana

  5. Limit warunku MySQL IN