博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MySQL中的insert ignore into, replace into等的一些用法总结
阅读量:6906 次
发布时间:2019-06-27

本文共 900 字,大约阅读时间需要 3 分钟。

hot3.png

MySQL replace into 有三种形式:

1. replace into tbl_name(col_name, ...) values(...)

2. replace into tbl_name(col_name, ...) select ...

3. replace into tbl_name set col_name=value, ...

 

1.insert ignore into

当插入数据时,如出现错误时,如重复数据,将不返回错误,只以警告形式返回。所以使用ignore请确保语句本身没有问题,否则也会被忽略掉。例如:

INSERT IGNORE INTO books (name) VALUES ('MySQL Manual')

2.on duplicate key update

当primary或者unique重复时,则执行update语句,如update后为无用语句,如id=id,则同1功能相同,但错误不会被忽略掉。例如,为了实现name重复的数据插入不报错,可使用一下语句:

INSERT INTO books (name) VALUES ('MySQL Manual') ON duplicate KEY UPDATE id = id

3.insert … select … where not exist

根据select的条件判断是否插入,可以不光通过primary 和unique来判断,也可通过其它条件。例如:

INSERT INTO books (name) SELECT 'MySQL Manual' FROM dual WHERE NOT EXISTS (SELECT id FROM books WHERE id = 1)

4.replace into

如果存在primary or unique相同的记录,则先删除掉。再插入新记录。

REPLACE INTO books SELECT 1, 'MySQL Manual' FROM books

转载于:https://my.oschina.net/wangdaoliang/blog/1550680

你可能感兴趣的文章
MNIST神经网络的训练
查看>>
先制定一个能达到的小目标,比方说先让无人车合法上路
查看>>
线上FullGC频繁的排查
查看>>
SpringBoot无法启动,Process finished with exit code 0
查看>>
搭上AR技术,最新版宜家《家居指南》可以怎么玩?
查看>>
React 入门实例 参考阮一峰博客
查看>>
Valve放大招:300个外设授权+VR头显原型
查看>>
用友iuap入选2016世界互联网领先科技成果50强
查看>>
安装heartbeat-agents
查看>>
WORDPRESS登录后台半天都无法访问或者是访问慢的解决方法
查看>>
IOS 视图控制对象生命周期-init、viewDidLoad、viewWillAppear、viewDidAppear、viewWillDisappear等的区别及用途...
查看>>
linux中的压缩命令详细解析(一)
查看>>
java面向对象- 多态性的体现和使用
查看>>
Go语言之开发工具
查看>>
Saltstack常用模块及API(4)
查看>>
[LNMP]Nginx负载均衡
查看>>
计算算法时间复杂度
查看>>
Apache 文件根目录设置修改方法 (Document Root)
查看>>
****使用ftp软件上传下载php文件时换行符丢失bug
查看>>
Juniper 防火墙的MIP/VIP/DIP
查看>>