gpt4 book ai didi

mysql - 有没有办法在 MySQL 中创建新表时自动创建触发器?

转载 作者:行者123 更新时间:2023-11-29 05:45:41 24 4
gpt4 key购买 nike

有没有办法在 MySQL 中创建新表时自动创建触发器?

最佳答案

正如我在 your other question 中指出的那样,我认为这里需要进行流程和安全审查。这是一个经过审核的数据库,因此任何人(尤其是第三方服务提供商)都不应在您不知情的情况下在您的数据库中创建表。

你遇到的问题是,除了创建新表之外,你还需要创建另一个表来存储审计/更改的记录,该表将具有与原始表相同的结构,可能时间/日期和用户列。如果第三方提供商正在创建此表,他们将不知道创建审计表,因此即使您可以动态生成触发器,它们也不会工作。

不可能创建一个表来保存数据库中所有其他表的所有更改记录,因为表之间的结构不可避免地不同。

因此:向您自己和/或您的团队提出所有变更请求(例如,供应商想要创建 TableX,他们提交变更请求(包括 SQL 脚本)解释变更原因)。

您在数据库的测试副本上执行 SQL,并使用相同的结构创建另一个表来保存修改后的记录。

然后您创建并测试必要的触发器,生成一个新的 SQL 脚本来创建两个表和您的触发器,并在您的实时数据库上执行它。您授予提供商使用新表的权限,然后他们就可以离开了。

大家都很开心。是的,这可能需要更长的时间,是的,您将有更多的工作要做,但这比尝试解析查询日志以重新创建已更改的记录所需的工作要少得多/删除,或解析二进制日志并保持最新的每一个变化,并在日志文件的格式发生变化时修改你的代码等等。

关于mysql - 有没有办法在 MySQL 中创建新表时自动创建触发器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2522538/

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