gpt4 book ai didi

mysql - 外键级联选项和创建触发器有什么区别?

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

一个项目要求我构建一个java应用程序,允许用户快速创建、更新和删除劳动报告(以前是手工完成的)。

我显然需要一个数据库来实现这一点,并且在过去的一周里一直在研究和慢慢设计,但似乎无法清楚地定义外键级联选项和创建触发器之间的区别。他们有那么不同吗?或者在我的例子中只有两种方法来完成相同的任务?

我问这个问题是因为希望一个表中特定字段的更改能够反射(reflect)在引用它的所有相关表中。

我正在使用 MySQL 和 MySQL Workbench 进行建模和最终的正向工程。

最佳答案

触发器可以运行任意代码。您可以通过触发器实现外键(带或不带级联)。

外键(带或不带级联)执行一项特定的、集中的工作。在大多数数据库系统中,您将无法编写比内置的支持外键的代码更有效的触发器(有很多方法可以编写效率较低的触发器)。

特别对于 MySQL,您可能需要考虑它支持多种存储引擎,并且不同的引擎对各种外键功能的支持存在差异(请参阅 Using FOREIGN KEY constraints 。如果您打算使用的引擎不支持支持你想要使用的功能,那么你别无选择,只能使用触发器。

关于mysql - 外键级联选项和创建触发器有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21260895/

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