Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Instrução de exclusão do MySQL com limite


Você não pode especificar o deslocamento em DELETE 's LIMIT cláusula.

Portanto, a única maneira de fazer isso é reescrever sua consulta para algo como:
DELETE FROM `chat_messages` WHERE id IN (select id from (select id
                                           FROM `chat_messages`
                                       ORDER BY `timestamp` DESC
                                          LIMIT 20, 50) x)

Supondo que você tenha a chave primária id coluna

UPD :você precisa implementar o aninhamento duplo para enganar o mysql, pois não permite selecionar da tabela atualmente modificada (graças a Martin Smith)