mysql 的replace 和replace in to
1. mysql 的replace 批量替换
update candidate set education = replace(education,'科','学') where education like '%科%';
把数据中出现"科"的都替换为"学"。

2. mysql 的replace into
sql="replace into score (quest_id,jdg_id,cd_id,score) values ('"+ questionId+"','"+ judgesId+"','"+candidateId+"','"+score+"')";
以下为转载 http://www.cnblogs.com/wangtao_20/archive/2011/02/03/1948959.html
id 是主键
测试方式一,插入索引值是一样的:
REPLACE INTO fanwe_order(id,sn) VALUES('33','测试replace into 使用') 结果:受影响的行数:
2 SELECT * FROM fanwe_order WHERE sn='测试replace into 使用'
结果:查出 一行记录
测试方式二,插入主键值是重复的:
将插入id指定为34。这样不与数据表中的id有重复现象,之后运行查询
REPLACE INTO fanwe_order(id,sn) VALUES('34','测试replace into 使用')
结果:没有新插入一条数据。还是替换了原来的那行。id从33变为34
原因分析:
手册上提到,如果表中的一个旧记录与一个用于PRIMARY KEY或一个UNIQUE索引的新记录具有相同的值。
意,除非表有一个PRIMARY KEY或UNIQUE索引,否则,使用一个REPLACE语句没有意义。
刚才测试的例子中。id是主键,sn是唯一索引。测试方式一是出现主键值一样,测试方式二是出现唯一索
引值一样。两种情况都出现了replace
理解:插入数据的时候,假如遇到主键值或者唯一索引键值一样的话。那么就使用替代(replace单词的含
义反应了其作用)的方式,删掉原来的。以当前插入的行进行替代(所以需要同时具有insert和delete权限
)
先删除后插入新的。正好说明了我看到的现象:显示受影响的行数是2
两种情况之一使用replace语句才会出现替换:1.主键值相同 2.索引键值相同
mysql 的replace 和replace in to的更多相关文章
- mysql函数之七:replace() MySQL批量替换指定字段字符串
mysql replace实例说明: UPDATE tb1 SET f1=REPLACE(f1, 'abc', 'def'); REPLACE(str,from_str,to_str) 在字符串 st ...
- MySQL replace 和 replace into 的用法
mysql replace实例说明: UPDATE tb1 SET f1=REPLACE(f1, 'abc', 'def'); REPLACE(str,from_str,to_str) 在字符串 st ...
- Mysql中replace与replace into的用法讲解
Mysql replace与replace into都是经常会用到的功能:replace其实是做了一次update操作,而不是先delete再insert:而replace into其实与insert ...
- Mysql中FIND_IN_SET和REPLACE函数简介
一 FIND_IN_SET() SELECT * from u_user where FIND_IN_SET('32',tags) 上面的sql是精确查找,查找表中tags中含有32的记录(注意这里 ...
- MySql数据的插入-replace into
一.新的数据插入方式:REPLACE INTO mysql中常用的插入方式:INSERT INTO 如果要插入不重复的数据的方式:REPLACE INTO 二.二者比较: replace into 首 ...
- java中string的replace和replace的区别
乍一看,字面上理解好像replace只替换第一个出现的字符(受javascript的影响),replaceall替换所有的字符,其实大不然,只是替换的用途不一样,简而言之,replace用新串序列替换 ...
- MYSQL中replace into的用法以及与inset into的区别
在向表中插入数据时,我们经常会遇到这样的情况:1.首先判断数据是否存在:2.如果不存在,则插入:3.如果存在,则更新. 在SQL Server中可以这样处理: if not exists (selec ...
- replace() MySQL批量替换指定字段字符串
mysql replace实例说明: UPDATE tb1 SET f1=REPLACE(f1, 'abc', 'def'); REPLACE(str,from_str,to_str) 在字符串 st ...
- mySQL中replace的用法
MySQL replace函数我们经常用到,下面就为您详细介绍MySQL replace函数的用法,希望对您学习MySQL replace函数方面能有所启迪 mysql replace实例说明: ...
随机推荐
- 关于DCLP实现的单例模式的一些想法
关于DCLP实现的单例模式的一些想法 我之前写过单例的文章( http://www.cnblogs.com/mkdym/p/4908644.html ),但是现在又有了一些想法,不想再在原来那篇文章上 ...
- OpenCV——Haar-like特征
Haar-like特征--即Haar特征,是计算机视觉领域一种常用的特征描述算子.它最早用于人脸描述. 目前常用的Haar-like特征可以分为以下几类:线性特征.边缘特征.点特征(中心特征).对角线 ...
- OpenCV——像素数据类型总结<摘>
1.Unsigned 8bits(一般的图像文件格式使用的大小)IplImage数据结构参数:IPL_DEPTH_8UCvMat数据结构参数:CV_8UC1,CV_8UC2,CV_8UC3,CV_8U ...
- 转:ProGuard 常见命令备份
转: https://my.oschina.net/sunyh/blog/30359 #-dontshrink #不压缩,减少jar的大小一般都压缩掉,为了增加反编译的难度也可以不压缩 #-donto ...
- VM11里安装ubuntukylin-16.04-desktop-amd64遇到问题
一.ubuntu linux的地址 http://www.ubuntu-china.cn/ 这个地址是中国站,点击下载菜单后,有两个版本,一个是ubuntu,一个是kylin.后者是专门加了中文程序的 ...
- [Zookeeper研究]一 Zookeeper技术简介
最近的项目中使用到了Zookeeper.Kafka以及Storm.仔细研究了一下,觉得这几个开源项目对于搞分布式的人来说是非常有用的,所以想把自己的一点心得体会总结一下,希望能对大家有所帮助. 首先从 ...
- Ubuntu 安装 pecl_http
由于开发环境需要用到pecl_http,根据网上找的教程一直没用按照成功,查看错误,pcre这里出错了,原来要安装这个libpcre3-dev,安装好这个就成功了,记下命令. $ sudo apt-g ...
- mysql innodb_double_write特性
知识储备: 1.mysql 的crasy recovery 是通过redo log 和undo log 来完成的: 2.redo log 和undo log的记录的是对页面的物理操作:如在1024号p ...
- Unity3D自定义地形的笔刷,刷出别样地形
是不是很简单呀,大家可以发挥想象刷出特殊的地形,小鸡呀,或者其他的logo之类(顶视图看上去效果很棒)的地形. 最后把我找的笔刷上传,Gizmos 注意: 如果文件夹及图片导入后,地形系统的笔刷无 ...
- 十一、外观(Facade)模式--结构模式(Structural Pattern)
外部与一个子系统的通信必须通过一个统一的门面(Facade)对象进行,这就是门面模式.门面模式要求一个子系统的外部与其内部的通信必须通过一个统一的门面(Facade)对象进行. 门面模式提供一个高层次 ...