任何人都知道为什么Firebird会更新和删除外键规则,以反逻辑方式工作?
当您更改某些数据并且它是FK时,Firebird行为:
当我猜测正确的行为是:
当您尝试在运行时将数据复制到另一个数据库时,这是一个很大的问题。
答案 0 :(得分:1)
导致级联删除的是master上的删除。在实现级别上,这由表上的系统触发器处理,因此必须首先发生主服务器上的删除,并且从中删除详细信息。
我不知道您是如何复制数据的,但您可能想要检查一下是否使用BEFORE
或AFTER
触发器执行此操作(但我不知道是否正在更改{ {1}} BEFORE
会将点击顺序更改为detail-master)。
有关实施和限制的更多详细信息,您可能希望在 firebird-devel 邮件列表上发布问题。该列表中有人也建立了复制软件,核心Firebird开发人员可能会提供更详细的信息。