Sql Trigger将更新的记录插入另一个表

时间:2011-02-22 14:28:04

标签: mysql triggers

我一直在寻找不同的在线教程,但我似乎无法找到我需要的东西。

每次更新时,我都需要将记录复制到历史记录表中。

有没有办法用触发器来完成它而不必输入我的所有数据字段?

1 个答案:

答案 0 :(得分:1)

如果您发布了表格的模式,以及您希望将哪些内容插入到历史记录表中会有所帮助,但是现在我将对您要更新的表格以及您想要的内容做出一些假设你的历史表。另外,此触发器不适用于复制粘贴...因为主要密钥违规将无法将对记录的每次后续更新都插入到历史记录表中。

CREATE TRIGGER trg_History AFTER UPDATE ON my_table
FOR EACH ROW INSERT INTO history_table VALUES (NEW.col1, NEW.col2, OLD.col1, OLD.col2 ... etc)

NEW关键字指的是所有插入/更新的数据,OLD指的是旧数据被覆盖之前。

同样,请更详细地说明您需要插入的信息以及目前为止所尝试的内容,因为我们目前只能帮助您使用一般语法。