有没有办法在具有外键约束的列中存储多个值?
我们说我有状态表和项目表。项目表具有状态表的外键约束。现在我们在三个不同的州实施同一个项目。如何选择多个状态?
样品
EAM7A 1 3 EI AMANDINE MRV SHP 70 W 0 SH3-A1 1 SHP 70W OVOIDE AI E
项目表
Create table states (
Stateid int identity primary key,
State varchar(100)
);
如何在项目状态表中插入多个值?
基于TPHE回答让我创建另一个名为projectstates的表
Create table projects (
ProjId int primary key identity,
ProjTitle varchar (100),
Budget decimal,
);
现在,如何在将项目添加到项目表的同时在ProjectStates中插入数据?
答案 0 :(得分:0)
我发现这样做的最好方法是首先创建没有外键约束的第二个表。然后,您可以使用数据填充两个表,然后引入约束 - 假设表中的数据符合约束。
此外,如果存在多对多关系,请添加映射表以允许此操作。
答案 1 :(得分:0)
它会破坏数据库设计的一些基本规则来添加多个值。您应该创建一个与states表具有一对多关系的新表(每个状态在新表中可以有多个值),并包含关联项目ID的列(也具有一对多关系)。然后,您将从states表连接到新表,然后再连接到项目表,反之亦然。 More info on how and why to design databases in this way.