在 author_id int 中使用数组引用 user(id)
Using an Array in author_id int references user(id)
作者在 https://github.com/calebmer/postgraphql 上展示了一个架构:
create table post (
id serial primary key,
author_id int non null references user(id),
headline text,
body text,
…
);
如果我想引用多位作者并使用 array 引用他们,我将如何重写架构?
会是:author_id int[] non null references user(id)
?
可以。但你不能。
有检查约束
您可以使用控制它的函数添加检查约束。
缺点:不是外键
有触发器和辅助table
您可以添加 table post_author
并使用 On insert or update
触发器填充它。
缺点:它很复杂,而且会重复信息。
作者在 https://github.com/calebmer/postgraphql 上展示了一个架构:
create table post (
id serial primary key,
author_id int non null references user(id),
headline text,
body text,
…
);
如果我想引用多位作者并使用 array 引用他们,我将如何重写架构?
会是:author_id int[] non null references user(id)
?
可以。但你不能。
有检查约束
您可以使用控制它的函数添加检查约束。
缺点:不是外键
有触发器和辅助table
您可以添加 table post_author
并使用 On insert or update
触发器填充它。
缺点:它很复杂,而且会重复信息。