MySQL防止重复插入唯一限制的数据 4种方法
MySQL防止重复插入唯一限制的数据,下面我们逐一分析 :
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.insert replace into
如果存在primary or unique相同的记录,则先删除掉。再插入新记录。
REPLACE INTO books SELECT 1, 'MySQL Manual' FROM books
这种方法就是不管原来有没有相同的记录,都会先删除掉然后再插入
MySQL防止重复插入唯一限制的数据 4种方法相关推荐
- mysql防止预约重号_mysql 防止重复插入唯一限制的数据
一. insert ignore into 当插入数据时,如出现错误时,如重复数据,将不返回错误,只以警告形式返回.所以使用ignore请确保语句本身没有问题,否则也会被忽略掉.例如: INSERT ...
- MariaDB/MySQL防止重复插入相同记录:INSERT IGNORE或者REPLACE
MySQL防止重复插入相同记录有2种常用的方法. 1 使用 INSERT IGNORE 使用 INSERT IGNORE 可以在插入具有相同主键的数据时不做重复插入. mysql> SELECT ...
- MySQL中怎么插入DateTime型的数据
在遇到插入datetime时 格式时"xxxx-x-x"; 问题就解决了啦!!! 同学插入时间值于oprTime字段(该字段为dateTime类型),insert失败,无论是加单 ...
- java list 合并 重复的数据_Java ArrayList合并并删除重复数据3种方法
首页 > 基础教程 > 集合框架 > ArrayList类 Java ArrayList合并并删除重复数据3种方法 1. 通过List自带方法list.retainAll() Lis ...
- java中批次号_在一个批次中插入多笔记录的几种方法
插入数据库方法很多,下面Insus.NET列举几种方法,看看你常用的是哪一种: 创建一张表: CREATE TABLE [dbo].[Network_Info] ( [ID] INT NOT NULL ...
- 用户ID生成唯一邀请码的几种方法
文章目录 1.需求描述 2.需求分析 3.字符集 4.方法一:随机数+唯一性判断(不可逆) 5.方法二:Hash+唯一性判断(不可逆) 6.方法三:进制法(可逆) 7.方法四:进制法+扩散.混淆(可逆 ...
- mybatis批量更新数据三种方法效率对比
探讨批量更新数据三种写法的效率问题. 实现方式有三种, 1> 用for循环通过循环传过来的参数集合,循环出N条sql,需要在db链接url后面带一个参数 &allowMultiQuer ...
- mybatis批量更新数据三种方法
具体的可以参考下面链接: mybatis批量更新数据三种方法效率对比_PreciousLife的博客-CSDN博客_mybatis 批量更新 此处说明下,若是使用for循环遍历方式,来生成 ...
- MySql避免重复插入记录方法(ignore,Replace,ON DUPLICATE KEY UPDATE)
本文章来给大家提供三种在mysql中避免重复插入记录方法,主要是讲到了ignore,Replace,ON DUPLICATE KEY UPDATE三种方法,各位同学可尝试参考. 案一:使用ignore ...
最新文章
- 【python】nuitka封装python
- python绘制灰度图片直方图-python数字图像处理实现直方图与均衡化
- 机器学习结构化学习模型_生产化机器学习模型
- 关于idea的git账号与电脑的git账号不一致的问题。已解决!
- video js 全屏时,遇到18:9的长屏幕时,画面被切割
- 设计模式笔记十九:备忘录模式
- mysql select 进阶_MySQL进阶_SELECT篇(一)
- java 原子long_java中long和double类型操作的非原子性探究
- ubuntu下开机自动运行脚本以及定时任务的处理
- Python程序员培训计划
- 一文读懂复权—不复权、前复权、后复权
- delphi 10.3 (一) 控件安装和使用
- 将格林尼治时间转日期格式
- STM32F7--->SDRAM
- 学习笔记——IPSec
- Maya---骨骼的创建
- Android系统分区备份与还原
- H5DS简单又强大的H5编辑器
- 矩阵求导解最小二乘问题
- gn编译webrtc介绍