我正在使用数据库,其中我有3个表,一个是skill
表,另一个是experience
,第三个是Experience_skill
表,在这个表中我现在有外键问题是外键也是主键。假设我将数据存储到技能表以及经验表中,如何在Experience_skill
表中插入两个密钥数据。我尝试过以下查询。
insert into Experience_skill(eid, Skill_Id)
select eid
from Experience
where eid=2
union
select Skill_Id
from Skills
where Skill_Id=2
错误我得到了:
INSERT语句的选择列表包含的项目少于插入列表。 SELECT值的数量必须与INSERT列的数量匹配。 比我试过这个。
insert into Experience_skill(eid)select eid from Experience where eid=2
它给了我这个错误:
无法将值NULL插入“Skill_Id”列,表'resume.dbo.Experience_skill';列不允许空值。 INSERT失败。 请帮帮我 这是表格的快照,第一个快照是技能表
第二个是经验表
这个是EXperience_skill
表,我有我的外键
答案 0 :(得分:3)
使用INSERT INTO时,需要在SELECT的每个ROW中提供目标表中的所有列(不允许NULL)。