我有一个小问题,比如我有一个包含5列的表格,我使用{strong>从另一个包含4列的表中插入到该表中
我有问题插入(null)或' '当我说那句话时,它进入第5列:
MINUS
(我正在使用的表没有第5列)
这是我用于插入语句
的代码invalid number of columns selected
此代码有效,如果我没有创建第5列,它会复制我需要的任何内容,是否有办法在my_table中的第5列旁边的另一个表中插入我的表值?
谢谢
答案 0 :(得分:1)
假设我理解了您的问题,您希望选择that_table
中的所有记录,并将这些记录插入my_table
,其中前4列不存在,使用{{1}作为第5列的值?如果是这样,您可以使用null
:
not exists
您还应该能够使用insert into my_table (col1, col2, col3, col4, col5)
select col1, col2, col3, col4, null
from that_table tt
where not exists (
select 1
from my_table mt
where tt.col1 = mt.col1 and tt.col2 = mt.col2
and tt.col3 = mt.col3 and tt.col4 = mt.col4
)
,只需确保您拥有相同数量的列和相同的数据类型:
Minus
答案 1 :(得分:0)
如果您只想插入所选列,请尝试以下操作:
insert into my_table (col1, col2, col3, col4, col5) select col1, col2, col3, col4, null from that_table;