mysql replace into的用法分析

发布时间:2019-12-10编辑:脚本学堂
本文介绍下,mysql数据库中replace into语句的用法,感兴趣的朋友可以作个参考。

本节内容:
mysql replace into

mysql replace into的功能:

replace into 跟 insert 功能类似,不同点在于:replace into 首先尝试插入数据到表中。
1. 如果发现表中已经有此行数据(根据主键或者唯一索引判断)则先删除此行数据,然后插入新的数据。
2. 否则,直接插入新数据。

注意,除非表有一个PRIMARY KEY或UNIQUE索引,否则,使用一个REPLACE语句没有意义。该语句会与INSERT相同,因为没有索引被用于确定是否新行复制了其它的行。
msyql replace into使用形式:
 

1. replace into tbl_name(col_name, …) values(…) 
2. replace into tbl_name(col_name, …) select … 
3. replace into tbl_name set col_name=value, …

下面用实例加以说明,来看二个mysql relace into语句的例子。

例1:
 

复制代码 代码示例:
replace into news(id,title) values(1,'ok‘)    //这里id是primary key ,如果存在id为1,则会实行update操作

例2:
 

复制代码 代码示例:
replace into news(title,content) values('test',’这里是php教程‘)  //相当于insert了

当然了,在mysql 存储过程中,有时也会用上replace into语句,这个相对复杂一些,留待以后介绍。

注意:
两种情况之一使用replace语句才会出现替换:
1.主键值相同 2.索引键值相同