gpt4 book ai didi

mysql - MySQL 表上的触发器

转载 作者:行者123 更新时间:2023-11-30 00:28:45 26 4
gpt4 key购买 nike

你好,我有下表分数:

ID
Name
Value
Creation_date
Modification_date

我还有表Scores_History:

ID
Name
Value
Creation_date

我需要做的是设置一个触发器,这样当表 Scores 中的一行更新时,它将存储旧的 NameValue Scores_History 表中(创建一个新行)。

有人可以帮我解决这个查询吗,因为我尝试过的任何方法都不起作用。

最佳答案

像这样,假设scores_history中的id列是auto_increment:

DELIMITER $$

CREATE TRIGGER scores_bu
BEFORE UPDATE ON scores
FOR EACH ROW
BEGIN
INSERT INTO scores_history (name, value, creation_date)
VALUES (OLD.name, OLD.value, OLD.creation_date);
END$$

DELIMITER ;

实际上,您可能希望“creation_date” 列包含当前日期和时间,而不是scores 表中的值。

要获得该行为,请修改触发器以将对 “OLD.creation_date” 的引用替换为对 “NOW()” 的引用。

关于mysql - MySQL 表上的触发器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22675911/

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