我在我的數據庫3個表:在另一個表中觸發mysql刪除?
| systems |
|-------------|
| system_id |
|-------------|
| systems_maintenances |
|-------------------------|
| systems_maintenances_id|
| system_id |
| maintenance_id |
|-------------------------|
| maintenances |
|-------------------------|
| maintenance_id |
|-------------------------|
我想,當我刪除系統中,maintenance
被刪除了。
目前它只在systems_maintenances
表中刪除。
我認爲觸發器是最好的(也是唯一的)方法來做到這一點。
我這創造一個:
CREATE TRIGGER `deleteMaintenance` BEFORE DELETE ON `systems`
FOR EACH ROW BEGIN
DELETE FROM maintenances
WHERE maintenance_id = systems_maintenances.maintenance_id;
END
問題是我得到的錯誤:
DELETE FROM
SNMProject
.systems
WHEREsystems
.system_id
=16MySQL a répondu:
#1054 - Unknown column 'systems_maintenances.maintenance_id' in 'where clause
如何解決我的問題?
我不知道這是否可以幫助,但我這也爲systems_maintenances
表:
test http://img110.xooimage.com/files/4/6/c/systems_maintenances-4754a0c.png
觸發器不是解決方案,DELETE CASCADE是其中之一。請參閱http://www.mysqltutorial.org/mysql-on-delete-cascade/ – 2014-08-27 10:55:41