Korrektur der Syntax für die MySQL-DELETE-Anweisung mit LIMIT
Beim Versuch, einen Zeilenbereich aus einer MySQL-Tabelle mithilfe einer DELETE-Anweisung mit zu löschen Wenn Sie eine LIMIT-Klausel verwenden, kann es zu einem Fehler kommen, wenn die Syntax falsch ist. Dieser Fehler weist normalerweise darauf hin, dass ein Problem mit der Syntax zur Angabe des Grenzwerts vorliegt.
Das Problem in der bereitgestellten Abfrage besteht darin, dass Sie in der LIMIT-Klausel einer DELETE-Anweisung keinen Offset angeben können. Die Syntax für die Verwendung der LIMIT-Klausel in einer DELETE-Anweisung lautet LIMIT
Um dieses Problem zu beheben, müssen Sie Ihre Abfrage neu schreiben, um die zu löschenden Zeilen anzugeben Genauer gesagt. Eine Möglichkeit, dies zu tun, besteht darin, die IN-Klausel zu verwenden, um die IDs der Zeilen auszuwählen, die Sie löschen möchten, und diese IDs dann zum Filtern der Zeilen in der DELETE-Anweisung zu verwenden.
Hier ist ein Beispiel dafür, wie Sie umschreiben können Ihre Anfrage:
DELETE FROM `chat_messages`
WHERE `id` IN (
SELECT `id` FROM (
SELECT `id` FROM `chat_messages`
ORDER BY `timestamp` DESC
LIMIT 20, 50
) AS `x`
)
In dieser Abfrage verwenden wir zunächst eine Unterabfrage, um die IDs der Zeilen auszuwählen, die wir löschen möchten. Dann verwenden wir die IN-Klausel in der DELETE-Hauptanweisung, um die Zeilen basierend auf diesen IDs zu filtern, was zur Löschung des gewünschten Zeilenbereichs führt.
Es ist wichtig zu beachten, dass Sie möglicherweise Anpassungen vornehmen müssen Die Abfrage basiert auf der spezifischen Struktur Ihrer Tabelle und dem gewünschten Verhalten.
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3