MYSQL插入数据时忽略重复数据

news/2024/7/4 9:46:22

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

当程序中insert时,已存在的数据不插入,不存在的数据insert。在网上搜了下,
可以使用存储过程或者是用NOT EXISTS 来判断是否存在。
使用下以两种方法时必须把字段设为”主键(PRIMARY KEY”或”唯一约束(UNIQUE)”。

1:使用REPLACE INTO (此种方法是利用替换的方法,有点似类于先删除再插入)
REPLACE INTO Syntax
REPLACE [LOW_PRIORITY | DELAYED]
    [INTO] tbl_name [(col_name,...)]
    {VALUES | VALUE} ({expr | DEFAULT},…),(…),…
Or:
REPLACE [LOW_PRIORITY | DELAYED]
    [INTO] tbl_name
    SET col_name={expr | DEFAULT}, …
Or:
REPLACE [LOW_PRIORITY | DELAYED]
    [INTO] tbl_name [(col_name,...)]
    SELECT …

2:使用INSERT [IGNORE] INTO (此种方法效率比较高,判断是否存在,存在不插入,否则插入)
INSERT [IGNORE] INTO Syntax
INSERT [LOW_PRIORITY | DELAYED | HIGH_PRIORITY] [IGNORE]
[INTO] tbl_name [(col_name,...)]
{VALUES | VALUE} ({expr [...]
 
mysql文档
http://imysql.cn/docs/MySQL_51_zh/sql-syntax.html#insert

转载于:https://my.oschina.net/sansom/blog/164530


http://www.niftyadmin.cn/n/4588609.html

相关文章

Windows 7下VMware中Linux网络共享设置

1、无线网络共享:如果共享出现错误提示,则打开服务,启动windows firewall服务注意:这里勾选共享后,提示会将vmnet1 的ip设置成192.168.137.1,就用这个默认的就可以了,不用修改。2、设置vm中linu…

Extjs表单组件及属性

Ext.form.Action 配置项: success:执行成功后回调的函数,包括两个参数:form和action failure:执行失败后回调的函数,包括两个参数:form和action method:…

(转)sql多表查询,Oracle、mysql的用法区别

2019独角兽企业重金招聘Python工程师标准>>> 1.前言:上篇讲到Mysql中关键字执行的顺序,只涉及了一张表;实际应用大部分情况下,查询语句都会涉及到多张表格 : 1)多表连接有哪些分类; 2)针对这些分类有哪些连…

Linux Kernel Development -- 设置当前进程的状态

首先查看内核源码中是如何定义的 #define __set_task_state(tsk, state_value) \ do { (tsk)->state (state_value); } while (0) #define set_task_state(tsk, state_value) \ set_mb((tsk)->state, (state_value)) /* * set_current_state() includes a barrier …

4种Java解析xml

xml文件<?xml version"1.0" encoding"GB2312"?> <RESULT> <VALUE>    <NO>A1234</NO>    <ADDR>四川省…

android抓包工具

下载 http://gdown.baidu.com/data/wisegame/2158469c63492e89/Tcpzhuabao_2.apk

桌面项后就出现了阴影

设置了一个桌面项后就出现了阴影 “对着桌面单击 -属性-桌面-自定义桌面-WEB-选掉锁定了桌面项目、对着我的电脑图标单击右键-属性-高级-性能-设置-钩选在桌面上为图标标签使用阴影 ”都用过了,又不想删了桌面项怎么办? 最佳答案如果是手动误操作造成的 …