[英]Entity Framework 6 multiple table to one foreign key relationship code first
[英]Foreign key in the first table
我有一个关于外键的问题。
当我想将外键添加到我创建的第二个表的主键的第一个表中时,它是如何工作的?
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)
);
如果我尝试上面的代码,我会收到以下错误:
错误:关系“”不存在
提前致谢。
要么先创建第二个表。 或者使用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)
);
如果整数可用,表之间的引用应该在主键上,当然不是在字符列上。
这是使用外键创建表的语法:
CREATE TABLE table11
(
name_id INT NOT NULL,
team INT,
PRIMARY KEY(name_id),
foreign key(team) references table22(team_id)
);
CREATE TABLE table22
(
team_id INT NOT NULL,
teamname TEXT,
PRIMARY KEY(team_id)
);
但还有另一个问题。 如果子表中的外键不包含相同类型,则它们不能引用父文件夹中的主键。 在你的代码团队是TEXT
和 team_id 是INT
这不能。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.