当我创建在创建命令中直接定义FK的表时,目标表还不存在,导致错误。
如果目标表存在,可以检查吗?
我的数据库管理系统是Postgres。
示例(伪代码):
create table "Bar"
foo_id integer FK of "Foo"."id",
someattr text;
create table "Foo"
id integer;
例句顺序不对,这就是为什么它不会运行。
我正在尝试根据许多sql文件中的定义批量重新创建数据库。
最佳答案
当我创建在创建命令中直接定义FK的表时,目标表还不存在,导致错误。
如果目标表存在,可以检查吗?
最好的解决方法可能是:
按正确的顺序创建表,或
创建约束
在创建表之外,在创建所有表之后。
关于sql - 在目标表不存在的地方定义FK,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8616410/