create table t1(a int) create table t2(id int,a int)insert into t1(a) select t2.a from t2
insert into tablename1(fields1) select fields2 from tablename2 fields1的字段个数据相对应于fields2的个数。
楼主的问题好象不明确哦!! 你说b表是已经存在的。 要插入b表的数据从a表中得来的。如果要插入到b表中的数据与b表中某些列的数据类型不一致的话是不能插入成功的。还有b表的id列的一些键属性你没说是什么。 在这里我有2个想法: 1。如果你要把a表的数据全部插入一个b表可以这样。(b表可以先不创建) select * from ainto b 2.a表中的部分数据插入到b表中。 select a.fields_1,a.fields_2 from a into b(fields_1,fileds_2) --a表和b表的fields_1 和fields_2 列的数据类型必须一致。
楼主的意思不太明白,主要是B表的ID字段是递增的字段,还是什么 如果使用insert into tablename1(fields1) select fields2 from tablename2 而ID字段又不是自动递增字段的话,且ID不能为空时,可能出现问题
楼上的语法有问题吧? select ... into ... from ... 而且into后面好像只能加表名,不能再加字段名了。 我试了一下,可以将源表的数据以字段别名的方式到入表中。例如: A表:a, aa, aaa B表:b, bb, bbb select A.a as b, A.aa as bb, A.aaa as bbb into B from A 就可以插入了。数据类型可兼容就行。另外,我觉得楼主的意思是根据A表数据向B表增加字段,即 A表:a, aa B表:b 操作之后B表:b, a, aa 我试了一下,直接alter table不能嵌套子查询,所以只能先向B表添加字段,再insert数据。
create table t2(id int,a int)insert into t1(a) select t2.a from t2
fields1的字段个数据相对应于fields2的个数。
你说b表是已经存在的。
要插入b表的数据从a表中得来的。如果要插入到b表中的数据与b表中某些列的数据类型不一致的话是不能插入成功的。还有b表的id列的一些键属性你没说是什么。
在这里我有2个想法:
1。如果你要把a表的数据全部插入一个b表可以这样。(b表可以先不创建)
select * from ainto b
2.a表中的部分数据插入到b表中。
select a.fields_1,a.fields_2 from a into b(fields_1,fileds_2)
--a表和b表的fields_1 和fields_2 列的数据类型必须一致。
如果使用insert into tablename1(fields1) select fields2 from tablename2
而ID字段又不是自动递增字段的话,且ID不能为空时,可能出现问题
select ... into ... from ...
而且into后面好像只能加表名,不能再加字段名了。
我试了一下,可以将源表的数据以字段别名的方式到入表中。例如:
A表:a, aa, aaa
B表:b, bb, bbb
select A.a as b, A.aa as bb, A.aaa as bbb
into B
from A
就可以插入了。数据类型可兼容就行。另外,我觉得楼主的意思是根据A表数据向B表增加字段,即
A表:a, aa
B表:b
操作之后B表:b, a, aa
我试了一下,直接alter table不能嵌套子查询,所以只能先向B表添加字段,再insert数据。
想哪个字段对应到哪个字段都可以
不过在这里我要谢谢seraphw(天平@-@)给我指出了错误。