我在我的数据库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