REPLACE INTO语法是MySQL数据库独特的扩展语法,可以提供“不存在即插入,存在即更新”的操作,MySQL官方文档解析其算法为:

1、尝试进行INSER 操作

2、如果INSERT 失败,则按照重复的键进行删除,再进行插入

但通过在MySQL 5.7.19上进行测试,查看其生成ROW格式的的BINLOG数据,REPLACE INTO操作被转换为以下操作的BINLOG:

 

PS:在BINLOG 看到的操作并不能代表其在数据库中真实操作,使用BINLOG可以保证主从数据一致,因此可以按照BINLOG去理解REPLACE INTO的修改操作。

##===================================================================##

 

版权声明:本文为TeyGao原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/TeyGao/p/8422911.html