文档章节

SQL:不存在则insert存在则update

七侠镇莫小贝
 七侠镇莫小贝
发布于 2017/04/13 13:15
字数 199
阅读 3
收藏 0

SQL:不存在则insert存在则update

参考资料:http://www.tuicool.com/articles/YR7FNf



INSERT INTO arfcns(arfcn,power,type) VALUES('11','22','33')  ON DUPLICATE KEY UPDATE counter=counter+1;

执行update语句的条件是insert语句的执行会造成唯一键的重复。

所以在创建表的时候还要提前加上唯一键的约束

ALTER TABLE arfcns ADD CONSTRAINT c_arfcn UNIQUE(arfcn);


表的DDL:

CREATE TABLE `arfcns` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `arfcn` varchar(20) NOT NULL,
  `power` varchar(20) NOT NULL,
  `type` varchar(20) NOT NULL,
  `describe` varchar(256) DEFAULT NULL,
  `counter` int(11) DEFAULT '0',
  PRIMARY KEY (`id`),
  UNIQUE KEY `c_arfcn` (`arfcn`)
) ENGINE=MyISAM AUTO_INCREMENT=227 DEFAULT CHARSET=utf8


python代码示例:

def save_arfcns(arfcn,power,sptype):
        mysql = Database()
        mysql.insert("SET NAMES utf8")

        mysql.insert("INSERT INTO arfcns(arfcn,power,type) VALUES('%s', '%s','%s') on duplicate key update counter=coun
ter+1
" % (str(arfcn).encode('utf-8'), str(power).encode('utf-8'),str(sptype).encode('utf-8')))


本文转载自:http://blog.csdn.net/kimqcn4/article/details/51025688

七侠镇莫小贝
粉丝 3
博文 92
码字总数 5648
作品 0
海淀
QA/测试工程师
私信 提问
MySQL之 INSERT ... ON DUPLICATE KEY UPDATE

一、insert or update需求 需求:如果testtable中存在记录则update,不存在则insert。 二、老做法:3条sql select * from testtable where id = 1; //查询表中是否已有记录insert into test_...

谢思华
2015/08/28
303
0
Mysql 原生语句中save or update 的各种写法

Mysql 原生语句中save or update 的各种写法 背景   在平常的开发中,经常碰到这种更新数据的场景:先判断某一数据在库表中是否存在,存在则update,不存在则insert。如果使用Hibernate,它...

Tek_Eternal
2015/02/09
1K
0
数据库根据键值自动判断插入还是更新的SQL

MySQL 至4.1版以后开始支持INSERT … ON DUPLICATE KEY UPDATE INSERT INTO 表名 (字段1,字段2,……) VALUES (值1,值2,……) ON DUPLICATE KEY UPDATE 字段n=值n; 要使用这条语句,前提...

沉默的子明
2016/06/24
98
0
MERGE INTO oracle

http://blog.csdn.net/yuzhic/article/details/1896878 http://blog.csdn.net/macle2010/article/details/5980965 该命令使用一条语句从一个或者多个数据源中完成对表的更新和插入数据. ORA...

狮子暴走
2014/07/29
27
0
Mysql中INSERT ... ON DUPLICATE KEY UPDATE的实践

一、前言 在日常业务开发中经常有这样一个场景,首先创建一条记录,然后插入到数据库;如果数据库已经存在同一主键的记录,则执行update操作,如果不存在,则执行insert操作; 最近工作也遇到...

阿里加多
2018/03/23
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Kafka 原理和实战

本文首发于 vivo互联网技术 微信公众号 https://mp.weixin.qq.com/s/bV8AhqAjQp4a_iXRfobkCQ 作者简介:郑志彬,毕业于华南理工大学计算机科学与技术(双语班)。先后从事过电子商务、开放平...

vivo互联网技术
38分钟前
13
0
java数据类型

基本类型: 整型:Byte,short,int,long 浮点型:float,double 字符型:char 布尔型:boolean 引用类型: 类类型: 接口类型: 数组类型: Byte 1字节 八位 -128 -------- 127 short 2字节...

audience_1
今天
8
0
太全了|万字详解Docker架构原理、功能及使用

一、简介 1、了解Docker的前生LXC LXC为Linux Container的简写。可以提供轻量级的虚拟化,以便隔离进程和资源,而且不需要提供指令解释机制以及全虚拟化的其他复杂性。相当于C++中的NameSpa...

Java技术剑
今天
21
0
Wifiphisher —— 非常非常非常流氓的 WIFI 网络钓鱼框架

编者注:这是一个非常流氓的 WIFI 网络钓鱼工具,甚至可能是非法的工具(取决于你的使用场景)。在没有事先获得许可的情况下使用 Wifiphisher 攻击基础网络设施将被视为非法活动。使用时请遵...

红薯
今天
74
1
MongoDB 4 on CentOS 7安装指南

本教程为CentOS x86_64 7.x操作系统下,MongoDB Community x86_64 4.2(GA)安装指南。 安装方式一:yum repo在线安装 [此方式较为简单,官方推荐] Step1:新建MongDB社区版Yum镜像源。 # vim ...

王焱君
今天
13
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部