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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL 如何复制一条记录的指定字段的内容到另一条记录的指定字段?相关的知识,希望对你有一定的参考价值。

假设一个数据表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语句吗?

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

参考技术A 如果要全部复制的话直接把where去掉不就行了,反正覆盖的只有名称和长度两个字段
如果是一段一段的赋值,用ID>=2 and ID<=…不就好了,至于要用=的么
参考技术B update table as t1,table as t2 set t1.名称=t2.名称,t1.长度=t2.长度,t1.f3=t2.f3,....where t1.id=2 and t2.id=1 参考技术C 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本回答被提问者和网友采纳

如何以角度将数据从一条路线传输到另一条路线? [复制]

【中文标题】如何以角度将数据从一条路线传输到另一条路线? [复制]【英文标题】:How do i transfer data from one route to another route in angular? [duplicate] 【发布时间】:2020-01-01 15:51:39 【问题描述】:

我正在设置基于 Angular 和 aws-amplify 的用户注册工作流程。在我为新用户注册后,需要一个确认步骤,我想将用户重定向到他需要输入确认码的确认组件。

这是我创建新用户的注册方法:

  signUp() 
    if (this.signUpForm.valid === true) 
      this.auth
        .signUp(this.signUpForm.get('email').value, this.signUpForm.get('password').value)
        .then(data => console.log(data))
        .catch(err => console.log(err));
    
  

而不是简单地记录我想要路由到确认页面的数据。所以最终的结果应该是这样的:

  signUp() 
    if (this.signUpForm.valid === true) 
      this.auth
        .signUp(this.signUpForm.get('email').value, this.signUpForm.get('password').value)
        .then(data => this.router.navigate(['auth/confirm']))
        .catch(err => console.log(err));
    
  

为了处理注册确认,我需要访问代表新创建用户的data 的一些内容。

如何使data 对象在我的目标组件中可访问?

我找到了类似https://github.com/mlabieniec/AngularMaterialPWA/blob/master/partTwo/src/app/auth/confirm-code/confirm-code.component.ts的解决方案

但我不喜欢为此使用角度环境的方法。

【问题讨论】:

【参考方案1】:

这是一篇非常好的文章,介绍了在不同场景中传递数据的几种不同方式。 Chiffie 提到的新方法不包括在内,这也是一种完全可行的方法。 https://angularfirebase.com/lessons/sharing-data-between-angular-components-four-methods/。使用服务共享数据是我个人解决此问题的方式。

【讨论】:

【参考方案2】:

https://***.com/a/36835156/10179262 希望这个答案有助于通过路由将数据共享给另一个组件。

【讨论】:

以上是关于SQL 如何复制一条记录的指定字段的内容到另一条记录的指定字段?的主要内容,如果未能解决你的问题,请参考以下文章

SQL UPDATE(从一行复制到另一行)

MySQL如何复制表中的一条记录并插入

复制表结构和内容到另一张表中的SQL语句

sql如何查询出一张表的的某个字段数据更换成另一张表的字段数据

将MYSQL某一数据库中的多条记录批量插入到另一MYSQL数据库时,记录不存在则插入,存在则更新

插入数据库表中一条记录同时也插入另一个表中的SQL语句怎么写