gpt4 book ai didi

mysql - 触发表更改

转载 作者:可可西里 更新时间:2023-11-01 08:51:10 26 4
gpt4 key购买 nike

我想在使用 PHP 对我的 mysql 表进行一些更改时在屏幕上触发警报。

目前,我有很多不同结构的表(采购订单、销售订单、用户等),我的目的是做一个实时应用程序,但问题是我已经编写了 90% 的应用程序。

我有一个名为 activity 的表它包含:

id, table, action, dateTime, user

当对 Purchase Order 表进行一些更改时,我需要记录

(0,'TABLE A','INSERT','12/12/12','John')

这样我就可以显示 JOHN 创建了一个新的采购订单

请注意,我已经编写了应用程序的许多部分,实现此目的的最可能方法是什么?

最佳答案

如果您的问题是如何在事件 表中记录更改,那么您可以像这样在要监控的每个表(订单、销售、用户等)上创建触发器:

CREATE TRIGGER `tg_orders_insert` AFTER INSERT ON orders
FOR EACH ROW INSERT INTO `activity` (`id`, `table`, `action`, `date_time`, `user`) VALUES (NEW.id, 'orders', 'insert', NOW(), 'user1')

CREATE TRIGGER `tg_orders_update` AFTER UPDATE ON orders
FOR EACH ROW INSERT INTO `activity` (`id`, `table`, `action`, `date_time`, `user`) VALUES (NEW.id, 'orders', 'update', NOW(), 'user1')

CREATE TRIGGER `tg_orders_delete` BEFORE DELETE ON orders
FOR EACH ROW INSERT INTO `activity` (`id`, `table`, `action`, `date_time`, `user`) VALUES (OLD.id, 'orders', 'delete', NOW(), 'user1')

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

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