假设我们有一个父表和一个子表,如下所示:
CREATE TABLE cities (
name text,
population float,
elevation int -- in feet
);
CREATE TABLE capitals (
state char(2)
) INHERITS (cities);
字符串
现在,当我在子表capitals
上插入任何行时,它也会在父表cities
上插入相同的行。
我正在使用一个迁移工具,它使用COPY
命令将数据从源填充到目标。
行在父表中重复,因为有2个插入。
- COPY命令本身
- COPY命令的子命令
当它使用COPY将行插入子表时,这些表也会插入父表。
我想使用COPY
命令将一些数据插入到子表中,而不将它们插入到父表中。
有没有什么方法可以做到这一点
1条答案
按热度按时间dtcbnfnu1#
行不重复。如果插入到
capitals
中,则没有任何内容插入到cities
中。但是当从cities
中插入SELECT
时,PostgreSQL也会显示来自capitals
的结果。实际上,字符串
实际执行
型
您可以使用
ONLY
来避免这种情况:型
但是如果您不想要表继承的默认行为,那么最好根本不要使用该特性。