今天正好有个新需求,要求在一张表中,保证不插入重复的记录。

即,保证每条记录中的某个字段的值不重复。

下面是我给出的SQL语句:

//存在-->更新
//不存在-->插入
UPDATE 表名称 SET 字段1=插入值1, 字段2=插入值2, 字段3=插入值3 WHERE 表名称.字段3 = 插入值3
;
INSERT INTO 表名称 (字段1, 字段2, 字段3)
SELECT 插入值1, 插入值2, 插入值3
FROM DUAL
WHERE NOT EXISTS (
SELECT * FROM 表名称 WHERE 表名称.字段3 = 插入值3
)

如果 “表.校验字段” != “参数”,则插入新纪录。


参考文献:

mysql 记录不存在时插入 记录存在则更新的实现方法

mysql中如何判断指定字段的重复数据则不插入?(该贴中的四种方法,测试后发现都不可用或不好用。)

MySQL判断字段值来确定是否插入新记录的更多相关文章

  1. MySQL触发器初试:当A表插入新记录,自动在B表中插入相同ID的记录

    今天第一次用MySQL的触发器,怕忘了,赶紧写篇博客记录一下. 废话不说,先上语法: 1 CREATE TRIGGER trigger_name 2 { BEFORE | AFTER } { INSE ...

  2. mysql查询字段值为数字

    原文:mysql查询字段值为数字 我想查询字段值为数字的sql如下:select * from tj_item_result where tj_value REGEXP '^[0-9]'

  3. ArcGIS自定义工具箱-判断字段值是否相等

    ArcGIS自定义工具箱-判断字段值是否相等 联系方式:谢老师,135-4855-4328,xiexiaokui#qq.com 目的:判断两个字段值是否相等 使用方法: 结果: 联系方式:谢老师,13 ...

  4. mysql 如果数据不存在,则插入新数据,否则更新 的实现方法

    CREATE TABLE `table_test` ( `id` int(11) NOT NULL AUTO_INCREMENT, `my_key` int(11) NOT NULL DEFAULT ...

  5. mysql如果数据不存在,则插入新数据,否则更新的实现方法

    mysql如果数据不存在,则插入新数据,否则更新的实现方法 //如果不存在,则插入新数据 $sql = "INSERT INTO {$ecs->table('cat_lang')} ( ...

  6. 转载:mysql如果数据不存在,则插入新数据,否则更新的实现方法

    转自:http://www.jb51.net/article/28885.htm //如果不存在,则插入新数据 $sql = "INSERT INTO {$ecs->table(‘ca ...

  7. Mysql按照字段值做分组行转列查询

    今天做个后台服务,有个需求是批量生成一批表的数据,如果用BulkInsert会提升很大一截提交效率,但是如果用循环构造提交的Datable,则算法开销太高,所以用这种查询批量查出符合格式的DataTa ...

  8. sql server查询语句条件判断字段值是否为NULL

    判断字段是否为null select * from table where c is null    select * from table where c is not null 判断字段是否为空 ...

  9. Mysql 正则表达式 判断字段值不包含数字

    SELECT * FROM (select replace(FlightId_IaTa,LEFT(FlightId_IaTa,2),'') as aa,FlightId_IaTa,FlightIdfr ...

随机推荐

  1. maven下载速度慢的解决方法(转)

    原文链接:http://blog.csdn.net/u013009618/article/details/53980983 maven是支持镜像的,我们可以在maven的conf文件加下的settin ...

  2. 基于Jenkins + Git的PHP项目编译脚本

    本文针对的是了解或已经在使用Jenkins和Git的开发者或团队. 本团队使用了Jenkins作为持续集成平台,Git作为版本管理工具,而本人负责的项目是PHP项目,所谓发布项目就是复制文件. 通常有 ...

  3. StoryBoard解惑

    可以把StoryBoard看做是一组viewController对应的xib,以及它们之间的转换方式的集合.在StoryBoard中不仅可以看到 每个ViewController的布局样式,也可以明确 ...

  4. build and set proxy in Ubuntu

    build http://www.2cto.com/os/201310/249690.html set http://www.360doc.com/content/11/1112/00/2617151 ...

  5. mysql配置文件编写

    实例: 首先建立 mysql的配置文件 dbconfig.php <?php $phpexcel=array( "host"=>'localhost',//127.0. ...

  6. 搭建测试环境——针对S3C6410开发板

    (一)前言 目前市面上的开发板型号和种类很多,但目前最流行的是基于三星S3C6410 ARM11架构的开发板.国内很多厂商在S3C6410 ARM11架构的开发板的基础上进行了扩展,开发了扩展板,本博 ...

  7. 《C++primer》v5 第7章 类 读书笔记 习题答案

    7.1.7.2.7.3 #include<iostream> #include<cstdio> #include<vector> #include<strin ...

  8. Vector和ArrayList的比较

    今天研究了一下Vector和ArrayList的源码,又加深了对这两个类的理解. List接口下一共实现了三个类:ArrayList,Vector,LinkedList.LinkedList就不多说了 ...

  9. 关于容器为NavigationControlle时,view的起始位置的问题

    在iOS 7中,苹果引入了一个新的属性“EdgesForExtendedLayout”,默认值为UIRectEdgeAll,默认的布局将从navigationbar的顶部开始,这就是为什么所有元素都往 ...

  10. C语言格式化输入不定长数组

    先随便写写,有空再整理. 直接贴代码 #include <stdio.h> #include <stdlib.h> //从一行标准输入中格式化输入一个不定长数组 void in ...