• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase
您的位置:首页 > 数据库 >Mysql > MySql避免重复插入记录的几种方法

MySql避免重复插入记录的几种方法

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-11

通过本文主要向大家介绍了mysql避免重复插入,mysql 如何避免用不等,避免重复征税的方法,避免论文重复的方法,mysql去重复查询等相关知识,希望本文的分享对您有所帮助

方案一:使用ignore关键字

如果是用主键primary或者唯一索引unique区分了记录的唯一性,避免重复插入记录可以使用:

还有个应用就是复制表,避免重复记录:

语法格式:

尝试把新行插入到表中
当因为对于主键或唯一关键字出现重复关键字错误而造成插入失败时:
从表中删除含有重复关键字值的冲突行
再次尝试把新行插入到表中
旧记录与新记录有相同的值的判断标准就是:
表有一个PRIMARY KEY或UNIQUE索引,否则,使用一个REPLACE语句没有意义。该语句会与INSERT相同,因为没有索引被用于确定是否新行复制了其它的行。

返回值:
REPLACE语句会返回一个数,来指示受影响的行的数目。该数是被删除和被插入的行数的和
受影响的行数可以容易地确定是否REPLACE只添加了一行,或者是否REPLACE也替换了其它行:检查该数是否为1(添加)或更大(替换)。

示例:
# eg:(phone字段为唯一索引)

方案三:ON DUPLICATE KEY UPDATE

如‍上所写,你也可以在INSERT INTO…..后面加上 ON DUPLICATE KEY UPDATE方法来实现。如果您指定了ON DUPLICATE KEY UPDATE,并且插入行后会导致在一个UNIQUE索引或PRIMARY KEY中出现重复值,则执行旧行UPDATE。

例如,如果列a被定义为UNIQUE,并且包含值1,则以下两个语句具有相同的效果:

注释:如果列b也是唯一列,则INSERT与此UPDATE语句相当:

您可以在UPDATE子句中使用VALUES(col_name)函数从INSERT…UPDATE语句的INSERT部分引用列值。换句话说,如果没有发生重复关键字冲突,则UPDATE子句中的VALUES(col_name)可以引用被插入的col_name的值。本函数特别适用于多行插入。VALUES()函数只在INSERT…UPDATE语句中有意义,其它时候会返回NULL。

示例:
这个例子是我在实际项目中用到的:是将一个表的数据导入到另外一个表中,数据的重复性就得考虑(如下),唯一索引为:email:

更多信息请看:  http://dev.mysql.com/doc/refman/5.1/zh/sql-syntax.html#insert

特别说明:在MYSQL中UNIQUE索引将会对null字段失效,也就是说(a字段上建立唯一索引):

</div>

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • MySql避免重复插入记录的几种方法

相关文章

  • 2018-12-05MySQL 数据库常用命令 简单超级实用版
  • 2018-12-05Access使用宏控制程序--1.6.使用宏的几点说明
  • 2018-12-05关于MySQL关闭子表的外键约束检察方法的详解(图)
  • 2018-12-05总结10个的并发控制实例教程
  • 2018-12-05And,Where使用提示以及用+进行左关联的提示及注意事项
  • 2018-12-05审计插件的内容推荐
  • 2018-12-05php数据库连接mysql与mysqli的区别与用法
  • 2018-12-05在Oracle数据库上设置限制ip地址访问以及需要注意的事项
  • 2017-05-11Mysql表的七种类型详细介绍
  • 2018-12-05详解Mysql中的JSON系列操作函数_MySQL

文章分类

  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase

最近更新的内容

    • Access字符串处理函数整理
    • slave have equal MySQL server UUIDs
    • 常用mysql优化sql语句查询方法汇总
    • mysql数值类型
    • mysql SELECT语句去除某个字段的重复信息
    • MySQL配置文件无法修改的解决方案详解(Win10)
    • 详解MySQL数据库设置主从同步的方法
    • Access 使用总结一篇
    • Linux下卸载MySQL数据库实例教程
    • varchar和text说不清的那些事

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有