テーブルから最も古い10個のエントリを削除するには、MySQLステートメントが必要ですが、取得できる最も近いものは次のとおりです。
DECLARE ID INT;
SET ID = (SELECT CallbackID FROM callbacks ORDER BY CallbackID LIMIT 1 OFFSET 9);
DELETE FROM callbacks WHERE callbackID <= ID;
これは、常に少なくとも10個のエントリがあった場合は問題ありませんが、それより少ない場合はIDが設定されないため、deleteステートメントは失敗します。
何か案は?ありがとう
編集:これも試してみました:
DECLARE ID INT;
SET ID = (SELECT CallbackID FROM callbacks ORDER BY CallbackID LIMIT 1 OFFSET 9);
if ID IS NOT NULL THEN
DELETE FROM callbacks WHERE callbackID <= ID;
END IF;