当我创建在创建命令中直接定义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/

10-15 19:47