Mysql 几种常见的插入 Insert into,Replace Into,Insert ignore
简要说下三者的区别:insert into 最普遍的插入,如果表中存在主键相同的数据,执行会报错。
replace into 如果表中存在主键相同的数据则根据主键修改当前主键的数据,反之则插入(存在就修改,反之插入)
insert ignore 如果表中存在主键相同的数据不在插入该条数据,反之则插入(存在则忽略,反之插入)
测试:
1.新增一张测试表 并预置数据
CREATE TABLE `insert_text` (
`id` varchar(50) NOT NULL,
`value` varchar(50) DEFAULT NULL ,
`memo` varchar(50) DEFAULT NULL ,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
INSERT INTO `insert_text` (`id`, `value`, `memo`) VALUES ("1", "2", "3");

2.检测replace into执行效果
(1)执行语句(该语句的ID与预置数据的ID相同):
REPLACE INTO `insert_text` (`id`, `value`, `memo`) VALUES ('', 'replace', 'replace');
执行结果:


(注意:这里返回的受影响行数为2,所以在统计插入数据成功的条数需注意下)
(2)执行语句(该语句的ID与预置数据的ID不同):
REPLACE INTO `insert_text` (`id`, `value`, `memo`) VALUES ('', 'replace', 'replace');
执行结果:


在这里因为主键不同,可以理解为执行了insert into
3.检测insert ignore执行效果:
(1)执行语句(该语句的ID与预置数据的ID相同):
INSERT IGNORE `insert_text` (`id`, `value`, `memo`) VALUES ('', 'ignore', 'ignore');


数据未发生改变
(2)执行语句(该语句的ID与预置数据的ID不同):
INSERT IGNORE `insert_text` (`id`, `value`, `memo`) VALUES ('', 'ignore', 'ignore');


在这里因为主键不同,可以理解为执行了insert into
好了,测试完成,需要根据不同的场景选择对应的插入方式----------------fillt
Mysql 几种常见的插入 Insert into,Replace Into,Insert ignore的更多相关文章
- mysql 数据库插入语句之insert into,replace into ,insert ignore
近期才发现mysql的插入语句竟然有如此多的使用方法,这里拿来分享一下. ①关于insert into : insert into table_name values(); insert into t ...
- sqlite "insert or replace" 和 "insert or ignore" 用法
insert or replace:如果不存在就插入,存在就更新insert or ignore:如果不存在就插入,存在就忽略只对UNIQUE约束的字段起作用.举例:建表:CREATE TABLE T ...
- (转载)MySQL数据库的几种常见高可用方案
转自: https://yq.aliyun.com/articles/74454 随着人们对数据一致性的要求不断的提高,越来越多的方法被尝试用来解决分布式数据一致性的问题,如MySQL自身的优化. ...
- 4种常见的MySQL日志类型
4种常见的MySQL日志类型 .错误日志 记录启动.运行或停止mysqld时出现的问题 log-error=d:/mysql_log_err.txt .查询日志 记录建立的客户端连接和执行的所有语句( ...
- mysql三种带事务批量插入
原文:mysql三种带事务批量插入 c#之mysql三种带事务批量插入 前言 对于像我这样的业务程序员开发一些表单内容是家常便饭的事情,说道表单 我们都避免不了多行内容的提交,多行内容保存,自然要用到 ...
- c#之mysql四种带事务批量插入
前言 对于像我这样的业务程序员开发一些表单内容是家常便饭的事情,说道表单 我们都避免不了多行内容的提交,多行内容保存,自然要用到数据库,如果循环打扰我数据库,数据库也会觉得很累,从而增加数据库服务器压 ...
- mysql把A表数据插入到B表数据的几种方法
web开发中,我们经常需要将一个表的数据插入到另外一个表,有时还需要指定导入字段,设置只需要导入目标表中不存在的记录,虽然这些都可以在程序中拆分成简单sql来实现,但是用一个sql的话,会节省大量代码 ...
- MySQL三种报错注入方式下的insert,update,delete命令注入示例
select 查询数据(大部分) 在网站应用中进行数据显示查询操作 insert 插入数据 在网站应用中进行用户注册添加等操作 delete 删除数据 后台管理里面删除文章删除用户等操作 update ...
- 【代码学习】MYSQL数据库的常见操作
---恢复内容开始--- ============================== MYSQL数据库的常见操作 ============================== 一.mysql的连接与 ...
随机推荐
- php注册
<?php var_dump($_GET);//打印出对象的数据类型//链接数据库$link = @mysql_connect('localhost','root','root');#选择数据库 ...
- GIS与FVCOM模型耦合的关键技术及解决思路
1. FVCOM本身为Linux下的MPI程序,首先将其移植到Windows下,可以编译成控制台程序. 2. FVCOM的前处理由GIS完成剖分网格和初始设定等工作. 3. FVCOM的输出采用自定义 ...
- Tesseract-OCR-05-主要API功能介绍
Tesseract-05-主要API功能介绍 tesseract本身代码是由c/c++混编而成的,其中有用的简单的接口函数几乎都是在baseapi.h中 从其处理过程中,不难得出: 它还需要有一个im ...
- Ngnix学习
- DevExpress源码编译总结 z
本篇文章内容包括基础知识(GAC.程序集强签名.友元程序集).编译过程.注册GAC.添加工具箱.多语言支持.运行时和设计时调试 源码地址 链接:http://pan.baidu.com/s/1eQm1 ...
- 【Leetcode】【Medium】Subsets II
Given a collection of integers that might contain duplicates, S, return all possible subsets. Note: ...
- [问题记录]libpomelo工程调整编译链接错误
1. 描述: 如下图所示,出现链接错误.那么链接问题一般也就两块设置: (1)包含路径Additional Library Directories (2)lib库的包含Additional Depen ...
- PPTP vs. OpenVPN vs. L2TP/IPsec vs. SSTP
Which is the Best VPN Protocol? PPTP vs. OpenVPN vs. L2TP/IPsec vs. SSTP Want to use a VPN? If you’r ...
- WEB开发的jsp例子标签库(jstl)的使用
<!-- e1 --> <%@ page language="java" contentType="text/html; charset=UTF-8&q ...
- 使用commons-fileupload-1.2.1.jar等组件实现文件上传
使用的主要jar包:commons-io-1.3.2.jar包;commons-fileupload-1.2.1.jar包:commons-lang-2.3.jar,在使用组件实现文件上传时候要注意前 ...