テーブルから行を削除しようとしていますが、エラーが発生します。
DELETE FROM `chat_messages` ORDER BY `timestamp` DESC LIMIT 20, 50;
私は50でこのエラーを受け取ります:
SQL構文にエラーがあります。 MySQLサーバーのバージョンに対応するマニュアルで、1行目の「50」付近で使用する正しい構文を確認してください
何が悪いのかわからない。
DELETE
のLIMIT
句にはオフセットを指定できません。
したがって、これを行う唯一の方法は、クエリを次のように書き換えることです。
DELETE FROM `chat_messages` WHERE id IN (select id from (select id
FROM `chat_messages`
ORDER BY `timestamp` DESC
LIMIT 20, 50) x)
主キーid
列があるとします
[〜#〜] upd [〜#〜]:現在変更されているテーブルから選択できないため、mysqlをだますために二重ネストを実装する必要があります(Martin Smithに感謝)