gpt4 book ai didi

mysql - 获取当前更新的列名称以在触发器中使用

转载 作者:可可西里 更新时间:2023-11-01 06:36:32 27 4
gpt4 key购买 nike

有没有办法实际获取已更新的列名以便在触发器中使用它?

基本上,每当用户插入或更新表(在本例中,它与联系人表有关)时,我都会尝试进行审计​​跟踪

CREATE TRIGGER `after_update_contact`
AFTER UPDATE ON `contact` FOR EACH ROW
BEGIN
INSERT INTO user_audit (id_user, even_date, table_name, record_id, field_name, old_value, new_value)
VALUES (NEW.updatedby, NEW.lastUpdate, 'contact', NEW.id_contact, [...])
END

如何获取已更新列的名称,并从中获取该列的 OLDNEW 值。如果一行或什至多行更新了多个列,是否可以对每个更新进行审核?

最佳答案

只需对每一列使用 OLD.column name <> NEW.column 来检查并找到不同的列。触发器在 MySQL 中的使用有点受限,太糟糕了。

关于mysql - 获取当前更新的列名称以在触发器中使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3008656/

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