Trigger
將 MariaDB 配置為僅記錄行刪除
我正在調查 Magento 網站上間歇性失去的一些行/表,當然錯誤日誌中沒有條目。(我懷疑 Magento 查詢/規則或人為錯誤可能是罪魁禍首)我知道我可以啟用正常日誌,但我不想記錄所有內容,因為該站點每天處理大量銷售並且日誌會很大.
我希望有人可能知道一種配置通用日誌或日誌表以僅記錄
DELETE
命令的方法。對您可能有更好的解決方法的任何建議持開放態度。
這主要是從文件中複製的:
觸發器範例 - 記錄刪除
場景:我們希望保留一個日誌文件,其中包含已從 BOOKS 表中刪除的行的數據。這是完成此操作的觸發器定義:
CREATE TRIGGER Books_Delete AFTER DELETE ON Books /* See note 1 */ REFERENCING OLD ROW AS Old /* See note 2 */ FOR EACH ROW /* See note 3 */ INSERT INTO Books_Deleted_Log /* See note 4 */ VALUES (Old.title); /* See note 5 */
- Trigger 操作必須是AFTER,因為 Trigger 操作包括 SQL 數據更改語句。您還應該
Books
用您的表名替換- 對於舊行,通常使用別名“Old”或“Old_Row”。
DELETE
影響零行的語句不會出現日誌。- 替換
Books_Deleted_Log
為您將刪除的行記錄到的表的名稱。確保此表包含記錄所需資訊所需的所有列。OLD
是單個舊行的別名,從該舊行的列OLD.TITLE
派生的標量值也是如此。TITLE
您必須更改Title
為要跟踪的列。您還可以按照Old.<column name>
使用逗號作為分隔符的模式添加更多列。