【发布时间】:2010-11-07 00:14:15
【问题描述】:
我想禁用所有外键约束并在之后重新启用它们,有什么方法可以做到吗?
我知道 SQLServer 允许这样做,但是 Firebird 呢?
【问题讨论】:
标签: sql constraints firebird firebird2.1
我想禁用所有外键约束并在之后重新启用它们,有什么方法可以做到吗?
我知道 SQLServer 允许这样做,但是 Firebird 呢?
【问题讨论】:
标签: sql constraints firebird firebird2.1
在 Firebird 2.1 之前无法禁用 AFAICT 外键。
您必须删除并重新创建它们。
Devshed 上有一个similar thread。
【讨论】:
我想唯一的方法是删除它们然后重新创建它们。由于约束不是数据,因此您确实不会丢失数据库中的任何信息,因此这是一个无害的操作(前提是您保留脚本以便以后重新创建它们)。
SVN 存储库中的FlameRobin 版本有一个选项可以为选定的表列依赖项自动生成这些 DROP 和 CREATE 脚本。上一个正式版本对整个表格都有相同的选项,所以这可能会对您有所帮助。但是,没有选择对整个数据库执行此操作。也许其他一些管理员。工具有这个功能。
【讨论】: