如果我在当前数据库(management
)上创建新架构,为什么它会抱怨跨数据库引用?
management=# create schema mgschema;
CREATE SCHEMA
management=# alter table clients add column task_id int null references mgschema.tasks.id;
ERROR: cross-database references are not implemented: "mgschema.tasks.id"
答案 0 :(得分:1)
alter table clients add column task_id int null references mgschema.tasks.id;
REFERENCES
语法不正确,您应该使用:
REFERENCES reftable [ ( refcolumn ) ]
答案 1 :(得分:1)
简单的references
只需要一个表名。然后外键将自动指向该表的主键,例如
alter table clients add column task_id int null references mgschema.tasks;
另一种方法是指定表和列,但不能使用单个标识符:
alter table clients add column task_id int null references mgschema.tasks (id);
如果目标表具有多个唯一约束,则需要第二种格式。