当我想在第一个表中添加一个外键,并引用第二个表的主键时,它是如何工作的?
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)
);
如果我尝试上面的代码,我会得到以下错误:
错误:关系“”不存在
2条答案
按热度按时间zzwlnbp81#
下面是创建带有外键的表的语法:
但是还有另一个问题.一个外键从一个子表不能引用一个主键从一个父文件夹如果他们不包含相同的类型.在你的代码团队是
TEXT
和团队_id是INT
这不能.evrscar22#
或者先创建第二个表。或者使用
alter table
。也就是说,创建第一个表而不使用引用,然后执行以下操作:table1
的声明是:表之间的引用应该在主键上,如果整数可用,则肯定不在字符列上。