Mysql
觸發以將已刪除的行複製到另一個相同的表,其中 Cascade Delete On
我有兩張桌子。銷售和銷售產品
SaleProducts 包含所有具有銷售的產品。
1 銷售,許多產品。(1對多)
SaleProducts``Sale
與 On Delete 設置為有關係CASCADE
。當我刪除銷售時,它會刪除(由於刪除級聯)所有
SaleProducts
與Sale
.我可以定義一個 TRIGGER
ON DELETE
,在刪除之前將所有行複製到相同的 Sale 和 SaleProducts 表中以保存歷史記錄嗎?
在主(Sale)表上定義觸發器
BEFORE DELETE
,它將從(SaleProducts)表中的所有記錄複製到存檔表中,這些記錄可能被級聯操作刪除。定義
AFTER DELETE
觸發器,它將複製從主表中刪除的記錄。如果兩個檔案中都有記錄 - 已執行刪除。兩個歸檔表中的所有記錄都是有效的。
如果 SaleProducts 存檔中有記錄,而 Sale 存檔中沒有相應的記錄 - 由於某些錯誤未執行刪除操作,必須從 SaleProducts 存檔表中刪除這些記錄。