"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como excluir um intervalo de linhas usando LIMIT na instrução MySQL DELETE?

Como excluir um intervalo de linhas usando LIMIT na instrução MySQL DELETE?

Publicado em 2024-11-09
Navegar:746

How to Delete a Range of Rows Using LIMIT in MySQL DELETE Statement?

Corrigindo a sintaxe da instrução DELETE do MySQL com LIMIT

Ao tentar excluir um intervalo de linhas de uma tabela MySQL usando uma instrução DELETE com uma cláusula LIMIT, você poderá encontrar um erro se a sintaxe estiver incorreta. Este erro normalmente indica que há um problema com a sintaxe usada para especificar o limite.

O problema na consulta fornecida é que você não pode especificar um deslocamento na cláusula LIMIT de uma instrução DELETE. A sintaxe para usar a cláusula LIMIT em uma instrução DELETE é LIMIT , sem especificar um deslocamento ou um ponto inicial.

Para resolver esse problema, você precisa reescrever sua consulta para especificar as linhas a serem excluídas mais precisamente. Uma maneira de fazer isso é usar a cláusula IN para selecionar os IDs das linhas que você deseja excluir e, em seguida, usar esses IDs para filtrar as linhas na instrução DELETE.

Aqui está um exemplo de como você pode reescrever sua consulta:

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

Nesta consulta, primeiro usamos uma subconsulta para selecionar os IDs das linhas que queremos excluir. Em seguida, usamos a cláusula IN na instrução DELETE principal para filtrar as linhas com base nesses IDs, resultando na exclusão do intervalo de linhas desejado.

É importante observar que pode ser necessário fazer ajustes em a consulta com base na estrutura específica da sua tabela e no comportamento desejado.

Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3