2013-01-21 63 views
0

我有一個表稱爲日誌,我存儲了用戶所做的一切。我想要做的是在顯示最後100個結果後運行腳本。使用mysql和php刪除舊日誌只有

所以基本上,當管理員訪問日誌頁面時,他/她會看到最後的100個結果。同時顯示最後100個結果,我想刪除表格日誌中的任何內容,而不是我剛剛展示的最後100個結果。我怎樣才能做到這一點?我只知道基本的代碼刪除一個表,該表

DELETE FROM table_name 
WHERE some_column = some_value 
+1

你如何確定?你有一個包含創建記錄時間的'TIMESTAMP'列嗎? – eggyal

+0

沒有。但我可以創建一個!那會怎樣幫助我? – shnisaka

回答

1

含有創建記錄的日期時間的列:這是「最後100個結果」

DELETE FROM log WHERE created < (SELECT created FROM (
    SELECT created FROM log ORDER BY created DESC LIMIT 100, 1 
) t) 
+0

#1093 - 您不能指定目標表 '登錄' 的更新在FROM子句 – shnisaka

+0

我的查詢: 'DELETE FROM WHERE用戶日誌ID <(SELECT ID FROM用戶日誌ORDER BY ID DESC LIMIT 200,1)' 這是根據你的答案。 – shnisaka

+1

@shnisaka:看到我上面修改後的答案。 – eggyal