mysql的replace into分析

原创 2012年03月22日 15:41:44

replace into和insert into是很相似的,唯一的差别就是使用replace into的时候会首先根据表的主键来判断是否存在与将要replace into的语句相同的记录,如果有的话,就先将旧记录删除,然后在插入新纪录。并且replace into执行后会返回一个数值,如果为1则表示执行的时候插入了一条数据,如果为2表示执行时删除了旧记录并且插入了新纪录。虽然replace into在平常使用过程中不会出现什么严重的问题。如果我们要操作的表中有一个自增的主键,那么就要出问题了。首先,因为新纪录与老记录的主键值不同,所以其他表中所有与本表老数据主键id建立的关联全部会被破坏。其次,就是,频繁的REPLACE INTO 会造成新纪录的主键的值迅速增大。总有一天。达到最大值后就会因为数据太大溢出了。就没法再插入新纪录了。数据表满了,不是因为空间不够了,而是因为主键的值没法再增加了。

Mysql REPLACE INTO 的原理以及使用方法

Mysql REPLACE INTO 的原理以及使用方法 -注:对应Oracle中的merge into Replace into是Insert into的增强版。 在向表中插入数据...
  • smithdoudou88
  • smithdoudou88
  • 2014年12月03日 15:20
  • 1182

MySQL的replace方法

一、replace函数语法:replace(object,search,replace) 语义:把object对象中出现的的search全部替换成replace。 实例:update hellot...
  • chaoyechage
  • chaoyechage
  • 2017年08月25日 18:34
  • 192

使用MySql replace into(insert into 的增强版)时你不得不注意的坑

使用MySql replace into(insert into 的增强版)时你不得不注意的坑 使用之前,你必须先搞懂它的原理,本文从以下几个方面介绍:replace into的应用场景;replac...
  • helloxiaozhe
  • helloxiaozhe
  • 2017年08月20日 11:02
  • 2452

MySQL的replace()函数介绍

今天在工作的过程中碰到一个问题,要把数据库中某个列的所有值中含有"shop.xxxx.net"的字符更换成"www.nowamagic.net",本来可以写个脚本,把所有的值都取出再用php进行处理,...
  • chenjie3392593
  • chenjie3392593
  • 2012年11月01日 10:27
  • 659

mysql replace的使用

mysql replace实例说明: UPDATE tb1 SET f1=REPLACE(f1, 'abc', 'def'); REPLACE(str,from_str,to_str) ...
  • leyangjun
  • leyangjun
  • 2014年06月20日 17:38
  • 572

mysql中replace函数的用法

##-----MySQL数据替换即replace的运用-----## #这里主要介绍一些关于replace函数的用法。关于研究这个主要是发现replace功能很强大 #对于屏蔽关键字很有用处。 ...
  • shuiyichuan
  • shuiyichuan
  • 2014年02月14日 14:40
  • 2029

MySQL 进行 Replace 操作时造成数据丢失——那些坑你踩了吗?

原文章地址:http://mp.weixin.qq.com/s/nCryxMQK00ZjjuTsfYvk3w 一、问题说明 公司开发人员在更新数据时使用了 replace into 语句,由...
  • u014315200
  • u014315200
  • 2017年09月28日 17:11
  • 223

mysql中在sql语句里replace的用法

mysql replace实例说明:    UPDATE tb1 SET f1=REPLACE(f1, 'abc', 'def');  REPLACE(str,from_str,to_str) ...
  • StarLOVELeaf
  • StarLOVELeaf
  • 2017年05月26日 15:11
  • 1007

Mysql replace函数不能使用正则表达式的解决

update ttt set name = replace(name,substring(name,locate('download/', name)+length('download/'),32),...
  • wind_324
  • wind_324
  • 2011年01月31日 11:16
  • 8013

Mysql中replace into用法详细说明

Replace into是Insert into的增强版。在向表中插入数据时,我们经常会遇到这样的情况:1、首先判断数据是否存在;2、如果不存在,则插入;3、如果存在,则更新。 在SQL Serve...
  • superit401
  • superit401
  • 2016年06月04日 17:49
  • 3634
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:mysql的replace into分析
举报原因:
原因补充:

(最多只允许输入30个字)