SQL插入多行数据怎么写

例如一个表A
a1 a2 a3
1 2 3
4 2 6

现在我要把很多数据插入,如果只插a1这列应该怎么写?
结果像这样
a1 a2 a3
1 2 3
4 2 6
4
5
6

我这样写报错 insert into A (a1) values ('4'),('5'),('6')
请问一条语句应该怎么写?

如果结果这样又怎么写
a1 a2 a3
1 2 3
4 2 6
7 8 9
7 9 10
这样又怎么写?
我想一条语句应该怎么写?我有很多数据,如果一条一条的写很费时间

只插入A1 insert into A (a1) values ('4')

后面那个多行问题
如果有规律,就循环:
declare @i int
set @i=0
while(@i<300)
begin
insert into A values(@i+1,@i+2,@i+3)
set @i=@i+3
end
如果在一个表x里,就insert into A(a1,a2,a3) select a1,a2,a3 from x

如果既无规律也不表里,那只能一条一条写,别无他法了
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-10-01
这样的话不能多条插入的
insert into A (a1) values ('4') ;
insert into A (a1) values ('5') ;
insert into A (a1) values ('6') ;
insert into A values ('7',‘8’,‘9’) ;
insert into A values ('7',‘9’,‘10’) ;
要分开写本回答被提问者采纳
第2个回答  2011-04-22
insert into 表名(a1) values('4')
insert into 表名(a1) values('5')
或者
insert into 表名 values('4',null,null)
insert into 表名 values('5',null,null)
或者
insert into 表名
select '4',null,null
unnion all
select '5',null,null
或者
insert into 表名
select '4','',''
unnion all
select '5','',''
第3个回答  2011-04-22
insert 语句只可以增加一行数据。所以要多次使用
A后面可以添加 (a1,a2,a3)
insert into A values ('4','','')
insert into A values ('5','','')
insert into A values ('6','','')

2:
insert into A values ('4','2','6')
insert into A values ('5','8','9')
insert into A values ('6','9','10')

数据多做个循环批处理。
第4个回答  2011-04-23
可以把要导入的数据先导入到数据库中的表B,
然后
insert into A(a1)
select 列名 from B