MySQL触发器在插入另一个表后更新其中一个表中的字段

时间:2018-08-20 15:20:44

标签: mysql triggers

Tables

我有上面的两个表。在tblUniformAndMaterials中,从tblMaterials提供的下拉列表中填充字段AllocatedMaterials。选择后,将从tblMaterials自动填充tblUniformAndMaterials中的MaterialID字段。 我想通过使用触发器来完成的操作是在插入tblUniformAndMaterials中的记录之后,我要将tblMaterials中的NiveauDeStock字段更新为(NiveauDeStock-1)。换句话说,每次分配物料后,我都会将库存量减少一倍。

1 个答案:

答案 0 :(得分:0)

CREATE TRIGGER https://dev.mysql.com/doc/refman/5.7/en/create-trigger.html

的参考

尝试一下:

DELIMITER $$
CREATE TRIGGER tblUniformAndMaterials_ai 
AFTER INSERT 
ON tblUniformAndMaterials 
FOR EACH ROW
BEGIN

UPDATE tblMaterials
set NiveauDeStock = NiveauDeStock -1
WHERE CodeDeMaterial = NEW.MaterialID;

END;
$$
DELIMITER ;

请注意AFTER INSERT以及NEW.MaterialID是如何将ID插入tblUniformAndMaterials中的。

祝你好运!