我有一个表car
,我想给它添加一列car.owner_id
,owner_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
与其他三个表具有相同的类型,因此它具有相同的图标。
1条答案
按热度按时间qgelzfjb1#
顶部的4个外键图标表示您有某种类型的OnDelete/OnUpdate设置。您可以使用Datagrip的表修改功能轻松地查看和修改这些设置:
右键单击数据库资源管理器中的表-〉
Modify Table
。