gpt4 book ai didi

mysql - 查询数据触发

转载 作者:行者123 更新时间:2023-11-29 09:56:18 25 4
gpt4 key购买 nike

我有包含信息的表格:

INSERT INTO Transferencias
('Origem_Apostador_ID', 'Destino_Apostador_ID', 'Valor_Transferido')
VALUES
('1', '6', '200.00');

在将该值插入到下表中后,我需要获取值“200.00”并与另一个表中的数据求和:

INSERT INTO Conta
('Apostador_ID', 'Saldo', 'Qtd_Saque', 'Qtd_Deposito', 'Qtd_Transferencia')
VALUES
('1', '700.00', '0', '1', '0');

我不知道如何使用查询中的数据来更新“Saldo”列。

最佳答案

我不知道我是否正确理解了你的问题,但我认为你需要这样的东西:

UPDATE Conta 
SET Saldo = Saldo + (SELECT Valor_Transferido FROM Transferencias WHERE Origem_Apostador_ID = '1')
WHERE Apostador_ID = '1';

如果需要,您可以将此代码添加到某个触发器中。您可以找到许多简单触发器的示例来根据您的数据库完成工作。

MYSQL 上的触发示例

CREATE TRIGGER TRG_UPDATE_SALDO BEFORE INSERT ON Transferencias
FOR EACH ROW
BEGIN
IF NEW.Valor_Transferido > 0 THEN

--Increments the destination account
UPDATE Conta
SET Saldo = Saldo + NEW.Valor_Transferido
WHERE Apostador_ID = NEW.Destino_Apostador_ID;

--Subtracts the origin account
UPDATE Conta
SET Saldo = Saldo - NEW.Valor_Transferido
WHERE Apostador_ID = NEW.Origem_Apostador_ID;
END IF;
END;

关于mysql - 查询数据触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53767421/

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