MySQL  各种级联查询后更新(update select).

CREATE TABLE `tb1` (
  `id` int(11) NOT NULL,
  `A` varchar(100) default NULL,
  `B` varchar(100) default NULL,
  `C` varchar(20) default NULL,
  PRIMARY KEY  (`id`),
  KEY `id` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

CREATE TABLE `tb2` (
  `id` int(11) NOT NULL,
  `A` varchar(100) default NULL,
  `B` varchar(100) default NULL,
  PRIMARY KEY  (`id`),
  KEY `id` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

级联更新1:

update tb1,
tb2
set tb1.a=tb2.a,tb1.b=tb2.b
where tb1.id=tb2.id

级联更新2:

update tb1,
(select * from tb2) as tb2
set tb1.a=tb2.a,tb1.b=tb2.b
where tb1.id=tb2.id

级联更新3:

update (select * from tb1 group by C) as temp,
       tb2,
       tb1
set tb1.a = tb2.a,
    tb1.b = tb2.b
where tb1.id = tb2.id and
      temp.id = tb2.id

级联更新4:

update tb1 left join tb2 on tb1.id = tb2.id
set tb1.a = tb2.a,
    tb1.b = tb2.b
where ......

mysql级联更新的更多相关文章

  1. mysql级联更新的两种方式:触发器更新和外键

    1.mysql级联更新有两种方式:触发器更新和外键更新. 2.触发器更新和外键更新的目的都是为了保证数据完整性. 我们通常有这样的需求:删除表Table 1中记录,需要同时删除其它表中与Table 1 ...

  2. 【mybatis】mysql级联更新两个表或多张表的数据

    例如 info表和relation表有关联,现在要在一个sql语句中同时级联更新两张表的数据 update security_code_info info LEFT JOIN security_cod ...

  3. Mysql实现级联操作(级联更新、级联删除)

    一.首先创建两张表stu,sc create table stu( sid int UNSIGNED primary key auto_increment, name ) not null) TYPE ...

  4. MySQL之级联删除、级联更新、级联置空

    1. 准备测试表 # 专业表major ))engine=innodb default charset=utf8; # 学生表mstudent ), major int)engine=innodb d ...

  5. Mysql实现级联操作(级联更新、级联删除)(转)

    一.首先创建两张表stu,sc create table stu( sid int UNSIGNED primary key auto_increment, name varchar(20) not ...

  6. 【Python】Django数据模型、级联删除、级联更新、ER图导出等

    在本文中,我们将向读者详细介绍如何在更新和删除父表数据的同时,触发有关子表数据的级联更新和删除操作.您将看到当使用InnoDB表的时候,借助于外键约束就可以轻松搞定这一过程. 一.利用外键约束更新并删 ...

  7. 自增特性,外键,级联更新与级联删除,表间关系,SELECT用法,GROUP BY

    自增特性 自动增长的作用: 问题:为数据表设置主键约束后,每次插入记录时,如果插入的值已经存在,会插入失败. 如何解决:为主键生成自动增长的值. 自动增长的语法: 字段名 数据类型 AUTO_INCR ...

  8. SQL图形化操作设置级联更新和删除

    SQL级联操作设置   对SQL数据库的表,进行级联操作(如级联更新及删除),首先需要设置表的主外键关系,有两种方法:   第一种:   1. 选择你要进行操作的数据库   2. 为你要创建关系的两个 ...

  9. mysql 插入/更新数据

    mysql 插入/更新数据 INSERT 语句 1.一次性列出全部字段的值,例如: INSERT INTO student VALUES('Chenqi','M', 29); INSERT INTO ...

随机推荐

  1. TestNG官方文档中文版(2)-annotation

    TestNG的官方文档的中文翻译版第二章,原文请见 http://testng.org/doc/documentation-main.html 2 - Annotation 这里是TestNG中用到的 ...

  2. Java Collection或Map的同步

    新集合也提供了能防止多个进程同时修改一个容器内容的机制.若在一个容器里反复,同时另一些进程介入,并在那个容器中插入.删除或修改一个对象,便会面临发生冲突的危险.我们可能已传递了那个对象,可能它位于我们 ...

  3. mysql memory表性能测试以及使用场景

    最近公司计划将风控逻辑移到slave库进行计算,因为考虑到业务表数据会比较大,此时如果还是走nest-loop的话,即使unique进行连接,因为还是需要至少2次以上LIO才能读一条记录,如果达到类似 ...

  4. 【转】从MVC到前后端分离

    1. 理解MVC MVC是一种经典的设计模式,全名为Model-View-Controller,即模型-视图-控制器. 其中,模型是用于封装数据的载体,例如,在Java中一般通过一个简单的POJO(P ...

  5. Java2_J2EE、J2SE和J2ME的区别

    解析J2EE.J2SE.J2ME.JDK的区别       本文向大家简单介绍一下JDK.J2EE.J2SE.J2ME概念及区别,J2EE,J2SE,J2ME是java针对不同的的使用来提供不同的服务 ...

  6. 使用ruby搭建简易的http服务和sass环境

    使用ruby搭建简易的http服务和sass环境 由于在通常的前端开发情况下,我们会有可能需要一个http服务,当然你可以选择自己写一个node的http服务,也比较简单,比如下面的node代码: v ...

  7. '[<NSObject 0x8a4b500> setValue:forUndefinedKey:]

    Bug如下: Terminating app due to uncaught exception 'NSUnknownKeyException', reason: '[ setValue:forUnd ...

  8. JavaScript学习08 Cookie对象

    JavaScript学习08 Cookie对象 JavaScript Cookie Cookie对象: Cookie是一种以文件的形式保存在客户端硬盘的Cookies文件夹中的用户数据信息(Cooki ...

  9. 【代码笔记】iOS-屏幕旋转

    代码: - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view. se ...

  10. 免费开发者证书真机调试App ID失效问题:"Unable to add App ID because the '10' App ID limit in '7' days has been exceeded."解决方案(5月5号)

    免费开发者证书真机调试App ID失效问题:"Unable to add App ID because the '10' App ID limit in '7' days has been ...