首页 > 其他分享 >批量插入防止重复方案整理

批量插入防止重复方案整理

时间:2023-03-05 13:23:17浏览次数:40  
标签:insert 批量 重复 into update 插入 user id

批量插入防止重复方案

除了在程序中处理的方案,本次共有4种方案:

1.insert ignore into

insert ignore into user (id , name) values ('1' , 'Tom' ); 

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

2.on duplicate key update

insert into user (id , name) values ('1' , 'Tom') on duplicate key update id = id

当primary或者unique重复时,则执行update语句,如update后为无用语句,如id=id,则同1功能相同,但错误不会被忽略掉。

3.insert … select … where not exist

INSERT INTO user (id , name) values ('1'  , 'Tom') select 'id' from dual where not exists (SELECT id FROM user WHERE id = 1)

使用mysql的一个临时表的方式,里面使用到了子查询,效率也会有影响,不建议使用。

4.replace into

REPLACE INTO user SELECT 1, 'telami' FROM books

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

标签:insert,批量,重复,into,update,插入,user,id
From: https://www.cnblogs.com/ekko-w/p/17180297.html

相关文章

  • php curl 批量请求
    实例:<?php$ch=array();$res=array();$conn=array();$urls=array('baidu'=>"http://www.baidu.com/",'cheyun'=>"http://auto.jrj.com.cn/",'w3c'=......
  • mysqli 批量执行多条语句
    可以一次性的执行多个操作或取回多个结果集。实例:<?php$mysqli=newmysqli("localhost","root","111111","test");/*checkconnection*/if(mysqli_connect_errno())......
  • 批量导入VCF文件
    Outlook系列软件在导入vCard(*.vcf)格式的联系人时一次只能导入成功一个,但我们可以通过VBA脚本让这个任务自动化.操作步骤如下:1,把所有vCards文件放在一个文件夹内。例如C:\V......
  • C程序中插入LINUX命令
    格式:system("......");//引号中为要执行的命令;例如创建共享内存的时候需要先生成key,生成key需要创建一个文件(最好在/dev/shm下创建一个),此时可以在生成key之......
  • 【LeetCode二叉树#17】在二叉搜索树中插入或删除某个值(涉及重构二叉树、链表基础、以
    二叉搜索树中的插入操作力扣题目链接(opensnewwindow)给定二叉搜索树(BST)的根节点和要插入树中的值,将值插入二叉搜索树。返回插入后二叉搜索树的根节点。输入数据保证......
  • Excel批量插入图片(Excel函数集团)
    批量插入图片,归函数集团管了?对,你没看错,就是函数集团的活!因为Microsoft365出了一个新函数:IMAGE!所以,以前折腾的那种一堆合并以后再贴进txt文本文件再贴回来的,没用了?是与......
  • 批量插入分页符
    问题:在已有固定结构表格的基础上批量插入分页符。解决:借助数据透视表完成第一步:在第一行前插入一行第二步:建构数据如下图的辅助列1与辅助列2选取G2:G7,输入数字1后按......
  • 语雀怎么唤起插入卡片的选项
    在单独的一行中,可以直接输入/唤起卡片选项,但是很多时候都并不需要另起一行,手动用鼠标点击卡片图标又太麻烦,这时候怎么办呢?直接使用Ctrl+/快捷键即可。参考:语雀快捷......
  • React.memo 解决函数组件重复渲染
    为什么会存在重复渲染?react在v16.8版本引入了全新的api,叫做ReactHooks,它的使用与以往基于classcomponent的组件用法非常的不一样,不再是基于类,而是基于函数进行......
  • mybatis动态标签——foreach批量添加和删除
    <!--【foreach标签】collection:设置要循环的数组或集合item:用一个字符串表示数组或集合中的每一个数据separator:设置每次循环的数据之间的分隔符......