我希望通过连接两个表以及每个id匹配的where条件来将数据插入到表中。
INSERT INTO SALES(T_ID, SF)
SELECT B.T_ID, B.SF
FROM HIS B, SALES C
WHERE C.REP_ID=B.REP_ID;
我收到一条错误,我无法将NULL插入(“c.REP_ID”)
我不想在c.rep_id中插入任何内容。我想从HIS表中将值插入到t_id,sf中,其表上的rep_id = sales表上的rep id。
答案 0 :(得分:0)
错误只是意味着REP_ID
表中的列SALES
具有NOT NULL约束。您的INSERT语句不会在该列中插入任何值(您只插入T_ID
和SF
),并且可能没有为您设置该列的行前触发器。
答案 1 :(得分:0)
INSERT INTO SALES (T_ID, SF)
SELECT h.T_ID, h.SF FROM HIS h, SALES C
WHERE C.REP_ID=B.REP_ID;
注意:确保来自select表的数据与您插入的列的数据类型相同且有效。