gpt4 book ai didi

update更新后的mysql触发器

转载 作者:太空宇宙 更新时间:2023-11-03 12:13:37 25 4
gpt4 key购买 nike

我有如下表格:

+---------+------------+-------+-------+--------+--------+--------+
| Matchid | Date | TeamA | TeamB | ScoreA | ScoreB | Winner |
+---------+------------+-------+-------+--------+--------+--------+
| 1 | 2014-06-12 | BRA | CRO | null | null | NULL |

这是足球比赛的赛程表。

比赛结束后,我想更新ScoreAScoreB,然后在更新后甚至更新前使用触发器,我将比较分数和相应地更新获胜者字段。

当我在表上创建更新触发器时,我无法更新任何字段,我读到这是不可能的。然后我想创建一个更新日志,即我创建一个类似的表,我想在日志表中插入所有新旧记录。但这也是不可能的。

有什么办法可以做到这一点吗?谢谢

最佳答案

您可以在 BEFORE UPDATE 触发器中更新字段。

CREATE TRIGGER set_winner BEFORE UPDATE
ON ScoreTable
FOR EACH ROW
SET NEW.Winner = CASE WHEN NEW.ScoreA IS NULL OR NEW.ScoreB IS NULL THEN NULL
WHEN NEW.ScoreA > NEW.ScoreB THEN NEW.TeamA
WHEN NEW.ScoreB > NEW.ScoreA THEN NEW.TeamB
ELSE "Tie"
END

DEMO

关于update更新后的mysql触发器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23158575/

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