postgresql 如何在现有的表中添加与DataGrip所示类型相同的外键?

omqzjyyz  于 2022-12-26  发布在  PostgreSQL
关注(0)|答案(1)|浏览(211)

我有一个表car,我想给它添加一列car.owner_idowner_id需要指向我的user PK ID表,car.owenr_id不能为空,所以每辆车在创建时必须有车主。
我尝试添加car.owner_id密钥,如下所示:

ALTER TABLE car ADD COLUMN IF NOT EXISTS owner_id INT;

ALTER TABLE car
ADD CONSTRAINT fk_id
FOREIGN KEY (owner_id)
REFERENCES "user" (id);

这样就添加了列,看起来很好。但是我正在处理指向其他表的其他外键列。当我在数据夹中查看资源管理器部分时,在外键下我现在看到了4个,最后一个是我刚刚添加的owner_id
我不明白为什么我添加的那个有不同的图标:

正如你所看到的最后一个关键图标是不同的顶部3.
有人能告诉我为什么吗?为什么前三个外键的图标和我添加的那个不同(最后一个在底部)?
我想创建一个user表的外键,该表的设置与其他三个表完全相同,由于我不是设置这些表的人,我不知道如何使car.owner_id与其他三个表具有相同的类型,因此它具有相同的图标。

qgelzfjb

qgelzfjb1#

顶部的4个外键图标表示您有某种类型的OnDelete/OnUpdate设置。您可以使用Datagrip的表修改功能轻松地查看和修改这些设置:
右键单击数据库资源管理器中的表-〉Modify Table

相关问题