【发布时间】:2016-01-30 03:45:51
【问题描述】:
如下所示,我有三个相互关联的 MYSQL 表。
我目前存储dateofjob 两次,因为我不知道如何在触发器中创建表连接。目前我在样本详细信息表上使用此触发器
CREATE TRIGGER `NewAge_update` BEFORE UPDATE ON `Speciemn_Details`
FOR EACH ROW BEGIN
SET NEW.Due_Date = DATE_ADD(NEW.CastDate,INTERVAL NEW.Age DAY);
END
这是完美的工作,但我希望能够从标本详细信息表中删除列 dateofjob 并从 Job_Details 表中计算 duedate 以防止自己拥有双重数据。
我必须将job_details.ID 与Test_Details.PARENTID 和Test_Details.TESTID 与specimen_details.TESTID 一起加入,我只是不知道如何在触发器中执行此操作。任何帮助将不胜感激
我已尽量详细,但如果需要更多信息,请询问我
职位详情
+----+-----------+
| ID | dateofjob |
+----+-----------+
| 1 | 1/01/2015 |
| 2 | 1/01/2016 |
| 3 | 1/01/2017 |
+----+-----------+
测试详细信息
+----------+--------+--------------+
| ParentID | TestID | TestLocation |
+----------+--------+--------------+
| 2 | 2154 | Barn |
| 2 | 2155 | Barn |
| 1 | 8055 | Yard |
+----------+--------+--------------+
标本_详细信息
+--------+----------+---------+-----------+-----------+
| TestID | Specimen | TestAge | dateofjob | Duedate |
+--------+----------+---------+-----------+-----------+
| 2154 | A | 3 | 1/01/2016 | 4/01/2016 |
| 2154 | B | 8 | 1/01/2016 | 9/01/2016 |
| 8055 | A | 2 | 1/01/2015 | 3/01/2015 |
+--------+----------+---------+-----------+-----------+
【问题讨论】:
标签: mysql sql database triggers