我正在寻找一种暂时关闭所有数据库约束(例如表关系)的方法.
我需要将一个DB的表复制(使用INSERT)到另一个DB.我知道我可以通过以正确的顺序执行命令(不破坏关系)来实现这一点.
但是如果我可以暂时关闭检查约束并在操作完成后重新打开它会更容易.
这可能吗?
sql sql-server entity-relationship sql-server-2005 constraints
我在PostgreSQL 9.4中创建了大量具有外键的迁移.
这造成了一个令人头疼的问题,因为这些表在迁移时必须全部按外键所期望的顺序排列.如果我必须从我的新迁移依赖于外键的其他包运行迁移,它会变得更加棘手.
在MySQL中,我可以通过简单地添加SET FOREIGN_KEY_CHECKS = 0;
到我的迁移文件的顶部来简化它.如何在PostgresSQL中暂时执行此操作仅限于迁移代码的长度?
顺便说一句,使用Laravel Schema Builder.
我在桌子上有一排.此行具有在具有数百万行的其他几个表中引用的ID列.删除行的SQL语句总是超时.从我的设计中,我知道我想删除的行永远不会被引用到任何其他地方.因此,我希望SQL忽略必须检查所有其他表以获取对该行的外键引用并立即删除该行.在SQL 2008中有一种快速的方法吗?也许是这样的:
DELETE FROM myTable where myTable.ID = 6850 IGNORE CONSTRAINTS
Run Code Online (Sandbox Code Playgroud)
或类似的规定.