SQL 如何复制一条记录的指定字段的内容到另一条记录的指定字段?

假设一个数据表table有N条记录字段包括:ID名称长度第1条记录内容:1红线10第2条记录内容:2nullnull问题是这样,我想将记录1后面字段内容复制到记录2里,但... 假设一个数据表table 有N条记录
字段包括: ID 名称 长度
第1条记录内容: 1 红线 10
第2条记录内容: 2 null null
问题是这样,我想将记录1后面字段内容复制到记录2里,但不是完全复制,是只复制名称和长度。
我写的SQL语句是这样:
Update table set 名称=(select 名称 from table where ID=1)
,长度=(select 长度 from table where ID=1)
where ID=2 where ID=2
可是如果有N个字段需要复制,那这update得写多长啊?
有什么简洁的SQL语句吗?
展开
 我来答
du瓶邪
推荐于2016-08-24 · TA获得超过2.4万个赞
知道大有可为答主
回答量:1.7万
采纳率:100%
帮助的人:2940万
展开全部

1,如果表不存在
select * into tb2 from tb1
2,如果表存在
insert into tb2 select * from tb1

--1)插入到一个新表中
select * into tab1 from table2
--2)更新到一个已经有数据的表中
insert tab1 (对应字段)
select * from tab2
死后是好人
2011-11-24 · TA获得超过2638个赞
知道小有建树答主
回答量:628
采纳率:0%
帮助的人:963万
展开全部
如果要全部复制的话直接把where去掉不就行了,反正覆盖的只有名称和长度两个字段
如果是一段一段的赋值,用ID>=2 and ID<=…不就好了,至于要用=的么
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
majiguang
2011-11-24 · TA获得超过757个赞
知道小有建树答主
回答量:1024
采纳率:0%
帮助的人:1362万
展开全部
update table as t1,table as t2 set t1.名称=t2.名称,t1.长度=t2.长度,t1.f3=t2.f3,....where t1.id=2 and t2.id=1
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
six133
推荐于2018-03-08
知道答主
回答量:16
采纳率:0%
帮助的人:17.7万
展开全部
Update table set 名称=table2.n
,长度=table2.L
from (select t.名称 n,t.长度 L from table t where t.id = 1) table2
where ID=2 where ID=2
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式