【发布时间】:2013-09-20 17:36:24
【问题描述】:
我想创建一个 MySQL 触发器,该触发器在任何表中的任何行插入之前运行。那可能吗?另一种方法是在为每个表插入之前创建一个触发器,但这还不够好:它很混乱而且它不处理新表,所以我肯定想编写一个 MySQL 触发器,它在任何插入到任何表时触发排。那可能吗?如果是这样,怎么做? (我在文档中找不到任何参考)
【问题讨论】:
-
@user2065377,链接问题的答案正在解决这个问题吗?如何?我希望在任何插入任何表时触发触发器。
-
我不相信这是可能的或可取的。除非它是您使用一次然后丢弃的私有数据库,否则这种基于数据库的操作会在某个时候咬住您。
-
@Twelfth,我想找到一些依赖项、CFD 和 AR,然后为它们生成约束。生成约束没有问题(我在我的 Java 代码中生成了一个 MySQL 过程),但我想应用这些约束,因此如果任何插入或更新违反任何规则,则会引发错误。为了简化问题,我只询问了这个问题中的插入。但生成的约束只有在阻止违反规则的插入时才有用。
-
Oracle 是对的……触发器可以像在表上一样容易地驻留在模式和数据库中,而 MySQL 的触发器可以完成的工作似乎相对温和。抱歉,Lajos,根据我的研究,我在这里唯一能找到的就是使用存储过程或排序等解决方法,这样用户就不再直接访问表。如果你找到答案,我会很好奇