我有一个名为movimentacoes
的触发器,当将新记录添加到integralizadas
表时,此触发器应增加cooperados
表中的mov
列。确实可以,但是只是到cooperados
表中的第一条记录
这是我的触发器
DELIMITER $$
CREATE TRIGGER movimentacoes AFTER INSERT ON mov
FOR EACH ROW
BEGIN
UPDATE cooperados c
SET integralizadas = c.integralizadas + new.valor
WHERE c.id = new.id_coop;
END;
$$
DELIMITER ;
cooperados表
id | bigint(20) PRI NULL auto_increment
created_at | timestamp NULL
updated_at | timestamp NULL
nameCoop | varchar(255) NULL
numCoop | int(11) NULL
cpfCoop | varchar(11) NULL
dtCad | date NULL
dtDem | date NULL
description | text NULL
subscritas | decimal(6,2) NULL
integralizadas| decimal(6,2) NULL
aintegralizar | decimal(6,2) NULL
status | enum('ativo','inativo')
移动表
idMov bigint(20) PRI NULL auto_increment
created_at timestamp NULL
updated_at timestamp NULL
id_coop bigint(20) NULL
valor decimal(6,2) NULL
当cooperado.id
为1时,触发器才起作用
答案 0 :(得分:0)
因此,我找到了答案,因为我的integralizadas
列为空,所以我的触发器无法影响它,现在我的cooperados
表是这样的:
id | bigint(20) PRI NULL auto_increment
created_at | timestamp NULL
updated_at | timestamp NULL
nameCoop | varchar(255) NULL
numCoop | int(11) NULL
cpfCoop | varchar(11) NULL
dtCad | date NULL
dtDem | date NULL
description | text NULL
subscritas | decimal(6,2) NULL
integralizadas| decimal(6,2) NOT NULL <--
aintegralizar | decimal(6,2) NULL
status | enum('ativo','inativo')
每个人