简单的update问题

l0g 2006-01-21 07:39:16
id name tel e-mail
1 user1 110 110@110.com
2 user2 220 220@220.com
3 user3 330 330@330.com

上面是一个简单的数据表! 我现在想更新id=1的记录让他的全部字段值和id=3的记录一样(id不变)!
请问应该怎样写?
注: 字段很多! 求最简洁的方法!
谢谢
...全文
85 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
jin2005 2006-01-21
  • 打赏
  • 举报
回复
declare @tab table(id int,name varchar(20),tel int,email varchar(30))
insert into @tab
select 1,'user1',110,'110@110.com' union
select 2,'user2',220,'220@220.com' union
select 3,'user3',330,'330@330.com'

update @tab set name=a.name,tel=a.tel,email=a.email from @tab,
(select id as id1,name,tel,email from @tab where id=3)a
where id=1

select * from @tab
/*
id name tel email
----------- -------------------- ----------- ------------------------------
1 user3 330 330@330.com
2 user2 220 220@220.com
3 user3 330 330@330.com
*/
点点星灯 2006-01-21
  • 打赏
  • 举报
回复

declare @tab table(id int,name varchar(20),tel varchar(20),email varchar(20))

insert @tab values(1,'user1','110','110@110.com')
insert @tab values(2,'user2','220','220@220.com')
insert @tab values(3,'user3','330','330@330.com')

select * from @tab

declare @name varchar(20)
declare @tel varchar(20)
declare @email varchar(20)

select @name=[name],@tel=tel,@email=email from @tab where id=1

update @tab set [name]=@name,tel=@tel,email=@email where id=3

select * from @tab
flyeq008 2006-01-21
  • 打赏
  • 举报
回复
学习……楼上的。。ID不变,也许别人的ID是主键呢??
ngzhjm 2006-01-21
  • 打赏
  • 举报
回复
把ID=3的記錄刪除,再插入ID=1的記錄就可以了,這是最簡單的方法

34,837

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧