我正在尝试使用select将多行插入到我的表中,但是我得到的值错误不足。
我的查询:
Insert into c(x, y) select * from a union all select * from d;
表a和b分别包含2条记录,表c具有1条记录。
答案 0 :(得分:1)
通过指定两个列名,尝试进行以下操作
Insert into c(x, y)
select col1,col2 from a
union all
select col1,col2 from d
对于union all
,两个表的列数相同,并且它们的数据类型也必须相同
答案 1 :(得分:1)
明确列出各列:
Insert into c (x, y)
select col1, col2
from a
union all
select col1, col2
from d;
如果表之一只有一列,则使用占位符作为值:
Insert into c (x, y)
select col1, col2
from a
union all
select col1, NULL
from d;