gpt4 book ai didi

mysql - SQL 触发器仅影响第一条记录

转载 作者:行者123 更新时间:2023-11-29 15:55:54 26 4
gpt4 key购买 nike

我有一个名为 movimentacoes 的触发器,当向 添加新记录时,此触发器应增加 cooperados 表中的 integralizadas 列>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 ;

合作表

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 时起作用

最佳答案

所以,我找到了答案,因为我的 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')

请大家注意

关于mysql - SQL 触发器仅影响第一条记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56462498/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com