最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

mysql的replace和replaceinto_MySQL

来源:动视网 责编:小采 时间:2020-11-09 20:12:36
文档

mysql的replace和replaceinto_MySQL

mysql的replace和replaceinto_MySQL:bitsCN.com 1. mysql 的replace 批量替换update candidate set education = replace(education,'科','学') where education like '%科%';把数据中出现科的都替换为学。 2. mysql 的replace into sql=replace i
推荐度:
导读mysql的replace和replaceinto_MySQL:bitsCN.com 1. mysql 的replace 批量替换update candidate set education = replace(education,'科','学') where education like '%科%';把数据中出现科的都替换为学。 2. mysql 的replace into sql=replace i
 bitsCN.com

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.索引键值相同

bitsCN.com

文档

mysql的replace和replaceinto_MySQL

mysql的replace和replaceinto_MySQL:bitsCN.com 1. mysql 的replace 批量替换update candidate set education = replace(education,'科','学') where education like '%科%';把数据中出现科的都替换为学。 2. mysql 的replace into sql=replace i
推荐度:
标签: re mysql replace
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top