merge into和on duplicate key
2016-07-09 15:47
148 查看
经常遇到这样的需求,存在这条纪录则更新,不存在则插入。
1.Oracle中使用merge into函数.
例如:
2.Mysql中on duplicate key,Mysql根据主键或者唯一索引判断是否存在这条纪录,如果没有的话,会继续插入进去而不会更改
例如:
1.Oracle中使用merge into函数.
MERGE [INTO [schema .] table [t_alias] USING [schema .] { table | view | subquery } [t_alias] ON ( condition ) WHEN MATCHED THEN merge_update_clause WHEN NOT MATCHED THEN merge_insert_clause;
例如:
merge into test t using (select 1 as id from dual) d on (t.id = d.id) when matched then update set t.name = 'modify',t.work = 'mwork' when not matched then insert (id, name, work) values (d.id, 'insert', 'iwork')
2.Mysql中on duplicate key,Mysql根据主键或者唯一索引判断是否存在这条纪录,如果没有的话,会继续插入进去而不会更改
INSERT [LOW_PRIORITY | DELAYED | HIGH_PRIORITY] [IGNORE] [INTO] tbl_name [(col_name,...)] VALUES ({expr | DEFAULT},...),(...),... [ ON DUPLICATE KEY UPDATE col_name=expr, ... ]
例如:
INSERT INTO test (id, NAME, WORK) VALUES (1, 'insert', 'iwork') ON DUPLICATE KEY UPDATE NAME = 'modify', WORK = 'mwork'
相关文章推荐
- gcc 编译过程
- 风口的猪-中国牛市(小米2016校招)
- Android进程间通信之--Socket
- 腾讯-字符移位
- 推荐几个文档工具
- 【后台开发科普web系列】js
- eclipse安装maven
- 天好热
- 网利友联
- 01背包类型问题的两种解法
- 222. Count Complete Tree Nodes
- Http协议使用总结
- Ned 的难题
- java基础知识回顾---接口和抽象类
- Java中的浅拷贝与深拷贝
- Node.js 常用工具
- linux命令之gcc
- 使用JSON和Flask后台交换数据
- "围观"设计模式(25)--行为型之中介者模式(Mediator Pattern)
- mysql命令大全