MySQL的replace into分析

WBOY
풀어 주다: 2016-06-07 17:12:50
원래의
1083명이 탐색했습니다.

replace into和insert into是很相似的,唯一的差别就是使用replace into的时候会首先根据表的主键来判断是否存在与将要replace i

replace into和insert into是很相似的,唯一的差别就是使用replace into的时候会首先根据表的主键来判断是否存在与将要replace into的语句相同的记录,如果有的话,就先将旧记录删除,然后在插入新纪录。并且replace into执行后会返回一个数值,如果为1则表示执行的时候插入了一条数据,如果为2表示执行时删除了旧记录并且插入了新纪录。

虽然replace into在平常使用过程中不会出现什么严重的问题。如果我们要操作的表中有一个自增的主键,那么就要出问题了。首先,,因为新纪录与老记录的主键值不同,所以其他表中所有与本表老数据主键id建立的关联全部会被破坏。其次,就是,频繁的REPLACE INTO 会造成新纪录的主键的值迅速增大。总有一天。达到最大值后就会因为数据太大溢出了。就没法再插入新纪录了。数据表满了,不是因为空间不够了,而是因为主键的值没法再增加了。

linux

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿