sql 多行插入问题

表如下nameclassageabcdefgho进行插入,用以下语句,insert[table](name,class,age)selectname,class,agef... 表如下
name class age
a b c
d e f
g h o
进行插入,用以下语句,insert [table](name,class,age)select name,class,age from table
得出以下结果
name class age
a b c
d e f
g h o
a b c
d e f
g h o
我想实现的是重复插入,但当字段很多时,sql报错,我想减少sql语句长度,请问如何用SQL语句,只要能实现重复插入,其它语句也行,不需要触发器.
忘告诉1楼了.有一个ID列,是自动增加的,所以你的sql语句不行.
楼2的朋友,我的原表有很多字段,上表只是个例表,由于字段太多,造成了SQL报错.
展开
 我来答
逐月追心
2008-04-14 · TA获得超过233个赞
知道小有建树答主
回答量:272
采纳率:0%
帮助的人:111万
展开全部
要想重复插入 要确保重复插入的字段1.不是主键.2.没有唯一约束.
建议增加个自增列做为主键.
满足以上了个条件 insert [table](name,class,age)select name,class,age from table 就可以实现了
----------------------------------
那你写的时候注意对应关系就行了.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
WHITE_WIN
2008-04-14 · TA获得超过6111个赞
知道大有可为答主
回答量:3759
采纳率:50%
帮助的人:1893万
展开全部
假设您的递增标识列为ID,表名为TALBENAME 那么这样:
alter table tablename drop column [id] --暂时删除自增标识列

insert into tablename select * from tablename --进行您所要的操作,可多次执行。

alter table idinc add [id] [int] IDENTITY (1, 1) NOT NULL-再加回标识列。

您看这样是否符合您的要求?
如果怕破坏本表,请您考贝出来再操作。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
独驾舟千里去
2008-04-14 · TA获得超过1380个赞
知道小有建树答主
回答量:1208
采纳率:0%
帮助的人:1042万
展开全部
insert into tab
select 字段列举 from tab2
之所以要列举就是tab中有一个有一个ID列,是自动增加的,即这个字段不要写入数值
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
pk_oracle
2008-04-14
知道答主
回答量:58
采纳率:0%
帮助的人:0
展开全部
insert into 表(id,其他字段)
(select newid + id as id , 其他字段
from 表 a ,
(select max(id)as newid
from 表) b )
看看行不?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友bbec2c4
2008-04-14 · TA获得超过167个赞
知道小有建树答主
回答量:451
采纳率:0%
帮助的人:0
展开全部
insert into [table] select * from [table]
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式