我有一个包含表 A、B、C 的数据库,是否可以创建另一个表(我们称之为“kind”)
CREATE TABLE public.jedi-kill-list(
name CHAR(40) PRIMARY KEY,
object Yoda, Anakin, Joe
);
在这个表中,对象可以是尤达(Yoda)、阿纳金(Anakin)或乔(Joe)吗?
而不是像这样这样做,这应该是可能的:
CREATE TABLE public.jedi-kill-list(
name CHAR(40) PRIMARY KEY,
object_A Yoda,
object_B Anakin,
object_C Joe
);
谢谢
在 Postgres 中,是的。您可以使用表继承。我建议您在文档中阅读它。
基本上,你会说:
CREATE TABLE public.abc_generic (
name CHAR(40) PRIMARY KEY
);
CREATE TABLE public.a (
. . .
) inherits (public.abc_generic);
正确的解决办法是做不到。