开发者社区> 珠海_jadeluo> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

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

简介:
+关注继续查看
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)  

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Mysql HA方案之MySQL半复制+MHA+Keepalived+Atlas+LVS(学习笔记十九)
http://hugnew.com/?p=749&utm_source=tuicool&utm_medium=referral 架构图 角色                    ip地址          主机名          M...
1164 0
用 Flask 来写个轻博客 (3) — (M)VC_连接 MySQL 和 SQLAlchemy
目录 目录 前文列表 扩展阅读 前言 Models 模型 SQLAlchemy 安装 SQLAlchemy 安装 Mysql 建立 SQLAlchemy 和 Mysql 的连接 前文列表 用 Flask 来写个轻博客 (1) — 创建项目 用 F...
1219 0
sql点滴37—mysql中的错误Data too long for column '' at row 1
原文:sql点滴37—mysql中的错误Data too long for column '' at row 1   1、MYSQL服务 我的电脑——(右键)管理——服务与应用程序——服务——MYSQL——开启(停止、重启动)   2、命令行方式  Windows   1.点击“开始”->“运行”(快捷键Win+R)。
1360 0
155
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载