Mysql Replace语句的使用

Mysql Replace语句的语法:

REPLACE [LOW_PRIORITY | DELAYED]
[INTO] tbl_name [(col_name,...)]
VALUES ({expr | DEFAULT},...),(...),...
或:

REPLACE [LOW_PRIORITY | DELAYED]
[INTO] tbl_name
SET col_name={expr | DEFAULT}, ...
或:

REPLACE [LOW_PRIORITY | DELAYED]
[INTO] tbl_name [(col_name,...)]
SELECT ...

使用Replace into与Insert into效果差不多。但是,当表中有主键或是唯一索引(unique index)时,Replace into在进入插入之前会,先检查是表中是否存在与要插入的主键或是Unique Index一样的记录。有则删除旧记录,然后再插入新记录。所以使用Replace时,affected row可能比1大,因为可能有删除和输入的操作。

在使用Replace时,需要insert和delete权限。

原文地址:https://www.cnblogs.com/mengzhongshi/p/3200987.html