Mysql
在我的情況下,如何在刪除觸發器之後添加?
我正在 MySQL WorkBench 中製作醫院的數據庫管理系統,我想在我的案例中製作刪除後觸發器。場景是我有兩個表
- 目前住院的患者,該表表示為
resident
和
- 這是我保存出院患者(即成功接受治療並走出醫院的患者)記錄的表格
outpatient
。現在,在
Resident
表中,我有一個名為 residentID 的列,它通過 Just there Unique Number 來區分在那裡的患者,並且outpatient
我通過 OutpatientID 保存離開醫院的患者的記錄。所以我想以這樣的方式製作一個觸發器,每當我寫一個
DELETE FROM resident where residentID = 1
比剛剛從resident
表中刪除的人的 ID 進入Outpatient
表時。那麼我們如何製作這樣的觸發器來做到這一點,我在這裡被問到了很多問題。這就是我想要的,任何輸入將不勝感激。
您應該使用 vbalues
OLD
並在INSERT
命令中使用它們。像這樣的東西:
CREATE TRIGGER triger_name_after_delete AFTER DELETE ON resident FOR EACH ROW BEGIN -- Insert record into Outpatient table INSERT INTO Outpatient (residentID, [rest columns names...] ) VALUES ( OLD.residentID, OLD.[rest columns names...]) END;
也許您可以在INSERT之後創建DELETE。所以,如果你喜歡這種情況,你可以使用這個觸發器。
CREATE TRIGGER `delete_after_insert` AFTER INSERT ON `outpatient` FOR EACH ROW BEGIN DELETE FROM `resident` WHERE `residentID` = '' END;
您不需要舊值來插入門診病人。因為您首先插入並獲取駐留表上的刪除 ID。