我正在使用SQLite數據庫來存儲來自數據記錄器的值。數據記錄器最終將填滿計算機上所有可用的硬盤空間。我正在尋找一種方法,一旦達到某個限制,就會從數據庫中刪除最後25%的日誌。SQLite刪除數據庫中最後25%的記錄
使用下面的代碼:
$ret = Query('SELECT id as last FROM data ORDER BY id desc LIMIT 1 ;');
$last_id = $ret[0]['last'] ;
$ret = Query('SELECT count(*) as total FROM data');
$start_id = $last_id - $ret[0]['total'] * 0.75 ;
Query('DELETE FROM data WHERE id < '. round($start_id, 0));
一個日誌文件被旁邊,直到腳本失敗,填補了硬盤上的剩餘空間數據庫中創建。
如何/我可以停止創建此日誌文件? 無論如何將所有三個SQL查詢合併到一個語句中?