mysql on DUPLICATE KEY UPDATE test1.name=test2.name;

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
云数据库 RDS PostgreSQL,高可用系列 2核4GB
简介:
Sql代码   收藏代码
  1. mysql> create table test1(id int,name varchar(5),type int,primary key(id));  
  2. Query OK, 0 rows affected (0.01 sec)  
  3. mys  
  4. mysql> create table test2(id int,name varchar(5),type int,primary key(id));  
  5. Query OK, 0 rows affected (0.01 sec)  
  6.   
  7.   
  8. mysql> select * from test1;  
  9. +-----+------+------+  
  10. | id  | name | type |  
  11. +-----+------+------+  
  12. | 101 | aaa  |    1 |   
  13. | 102 | bbb  |    2 |   
  14. | 103 | ccc  |    3 |   
  15. +-----+------+------+  
  16. rows in set (0.00 sec)  
  17.   
  18. mysql> select * from test2;  
  19. +-----+------+------+  
  20. | id  | name | type |  
  21. +-----+------+------+  
  22. | 201 | aaa  |    1 |   
  23. | 202 | bbb  |    2 |   
  24. | 203 | ccc  |    3 |   
  25. | 101 | xxx  |    5 |   
  26. +-----+------+------+  
  27. rows in set (0.00 sec)  
  28.   
  29. 发现重复的是更新操作。在原有记录基础上,更新指定字段内容,其它字段内容保留。例如我只想插入test2表的id,name字段,但是要保留test1表的type字段:  
  30. mysql> insert into test1(id,name,type)(select id,name,type from test2) on DUPLICATE KEY UPDATE test1.name=test2.name;  
  31. Query OK, 5 rows affected (0.04 sec)  
  32. Records: 4  Duplicates: 1  Warnings: 0  
  33.   
  34. mysql> select * from test1;  
  35. +-----+------+------+  
  36. | id  | name | type |  
  37. +-----+------+------+  
  38. | <span style="color: #ff6600; background-color: #888888;"><strong>101</strong></span> | xxx  |    1 |   
  39. | 102 | bbb  |    2 |   
  40. | 103 | ccc  |    3 |   
  41. | 203 | ccc  |    3 |   
  42. | 202 | bbb  |    2 |   
  43. | 201 | aaa  |    1 |   
  44. +-----+------+------+  
  45. rows in set (0.00 sec)  
相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。 &nbsp; 相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情:&nbsp;https://www.aliyun.com/product/rds/mysql&nbsp;
相关文章
|
12月前
|
SQL 关系型数据库 MySQL
MySQL异常一之: You can‘t specify target table for update in FROM clause解决办法
这篇文章介绍了如何解决MySQL中“不能在FROM子句中指定更新的目标表”(You can't specify target table for update in FROM clause)的错误,提供了错误描述、需求说明、错误做法和正确的SQL写法。
2215 0
|
存储 SQL 关系型数据库
MySQL中的update操作与锁机制
本文探讨MySQL中`UPDATE`操作的自动加锁机制及其对数据一致性的保障作用。尤其在InnoDB存储引擎下,系统会在涉及索引的更新操作中加行锁或间隙锁,防止多事务并发修改同一条记录。通过福利码兑换系统的实例展示,当线程A开启事务更新库存时,线程B试图更新相同记录会被阻塞,直至线程A提交。此外,文章还介绍了乐观锁及版本号控制等策略进一步提升并发性能的方法。作者:小明爱吃火锅,来源:稀土掘金。
651 2
|
关系型数据库 MySQL 数据库
Mysqlbug-Could not create or access the registry key needed for the MySQL applicationto, TIMESTAMP w
Mysqlbug-Could not create or access the registry key needed for the MySQL applicationto, TIMESTAMP w
|
SQL 存储 关系型数据库
深入理解MySQL中的UPDATE JOIN语句
MySQL的UPDATE JOIN语句用于根据关联表的条件更新数据。示例中,历史记录表有用户账号字段,新增列用于存储用户名。通过UPDATE JOIN,一次性将账号转换为用户名。关键点包括准确的连接条件、谨慎使用WHERE子句以及在更新前进行测试。此操作提高了数据处理效率,但也需小心操作以防止数据错误。
613 4
深入理解MySQL中的UPDATE JOIN语句
|
负载均衡 关系型数据库 MySQL
MySQL PXC集群多个节点同时大量并发update同一行
如本文标题,MySQL PXC集群多个节点同时大量并发update同一行数据,会怎样? 为此,本人做了一个测试,来验证到底会怎样!
136 0
|
供应链 关系型数据库 MySQL
MySQL的`FOR UPDATE`详解
MySQL的`FOR UPDATE`详解
817 0
|
关系型数据库 MySQL 数据库
MySQL8报错:Public Key Retrieval is not allowed
MySQL8报错:Public Key Retrieval is not allowed
6112 1
|
关系型数据库 MySQL 数据库
MySQL数据库——触发器-案例(Insert类型、Update类型和Delete类型)
MySQL数据库——触发器-案例(Insert类型、Update类型和Delete类型)
392 0
|
SQL 关系型数据库 MySQL
MySQL数据库——SQL优化(3/3)-limit 优化、count 优化、update 优化、SQL优化 小结
MySQL数据库——SQL优化(3/3)-limit 优化、count 优化、update 优化、SQL优化 小结
446 0
|
关系型数据库 MySQL
MySQL创建表出现 Specified key was too long; max key length is 767 bytes
MySQL创建表出现 Specified key was too long; max key length is 767 bytes
426 2

推荐镜像

更多