小编典典

第一个表中的外键

sql

我对外键有疑问。

当我想向创建的第二个表的主键进行引用的第一个表中添加外键时,它如何工作?

CREATE TABLE table1
(   
    name_id INT NOT NULL,
    team TEXT REFERENCES table2(team_id),
    PRIMARY KEY(name_id)
);

CREATE TABLE table2
(
    team_id INT NOT NULL,
    teamname TEXT,
    PRIMARY KEY(team_id)
);

如果我尝试上面的代码,则会出现以下错误:

错误:关系“”不存在

提前致谢。


阅读 187

收藏
2021-04-14

共1个答案

小编典典

要么先创建第二个表。或使用alter table。也就是说,创建没有引用的第一个表,然后执行以下操作:

alter table table1 add constraint fk_table1_team
    foreign key (team_id) REFERENCES table2(team_id);

的声明为table1

CREATE TABLE table1 (   
    name_id INT NOT NULL,
    team_id INT, 
    PRIMARY KEY(name_id)
);

如果有整数,则表之间的引用应该在主键上,当然也不能在字符列上。

2021-04-14