【发布时间】:2015-09-18 13:35:10
【问题描述】:
我有两张桌子:
- oee_main
- oee_client
我在 oee_main 上已经有一个插入后触发器,如下所示:
CREATE TRIGGER `oee_upd` AFTER INSERT ON `oee_main`
FOR EACH ROW UPDATE oee_client
SET END_DATE= NOW() where END_DATE IS NULL
我现在需要进一步开发触发器,以便 oee_main 中新插入的行不仅将 oee_client 的 END_DATE 更新为 NOW(),其中 END_DATE 为 NULL,而且只更新 oee_client 的行,其中列称为 Machine_ID 等于 oee_main 中新插入的名为 NAME 的列。
我已尝试将此添加到上述触发器的 where 条件中,但没有成功:
where END_DATE IS NULL and Machine_ID = new.`oee_main`.`NAME`
因此,我所追求的是,当在 oee_main 中插入新记录时,该记录在“NAME”列中的值为例如“2”,触发器仅更新 oee_client 的 END_DATE 列,其中 NULL 和 oee_client 的 Machine_ID 为等于 oee_main 中新插入的 NAME 值。
谢谢
【问题讨论】: