超過X天的記錄表中刪除觸發器我有一個名爲global_notif
其中有兩列date
(DATE)和notifications
(文本)表.The日期格式顯示爲YYYY-MM- DD。 現在,我想應用一個觸發器,它將刪除所有2天以前的記錄。 所以我寫了這樣的定義:如何創建包含在phpMyAdmin
DELETE FROM global_notif
WHERE date < DATE_SUB(NOW(), INTERVAL 2 DAY);
窗口的截圖如下:phpmyadmin trigger 點擊開始後,它表明觸發設置成功。 問題是,它根本無法工作。但是,當我單獨運行上述查詢時,查詢運行正常並刪除所需的記錄。 所以,我想知道,爲什麼這個觸發delete一個不與records.Also,如果有人能告訴我,這將在此之前DELETE觸發器甚至是我想要做的工作。 謝謝。
如果似乎沒有意義的,有一個觸發器在桌子上,這本身從表中刪除(因此觸發自身刪除等)前刪除。我認爲MySQL會阻止這個(我希望如此,以避免無限循環),但我會期待一個錯誤消息 – Kickstart
你能否建議我從表中自行刪除記錄的其他有效方法? –
不太可能。 MySQL確實支持定時執行查詢,儘管我從未使用它們(不確定它們是否在大多數MySQL安裝中啓用)。您的觸發器只會在手動刪除記錄時觸發(即,如果記錄被刪除)。如果它是定期添加到更新的表格中的,並且您只想刪除舊記錄,那麼最好使用與插入觸發器關聯的刪除。 – Kickstart