REPLACE INTO语法是MySQL数据库独特的扩展语法,可以提供“不存在即插入,存在即更新”的操作,MySQL官方文档解析其算法为:
1、尝试进行INSER 操作
2、如果INSERT 失败,则按照重复的键进行删除,再进行插入
但通过在MySQL 5.7.19上进行测试,查看其生成ROW格式的的BINLOG数据,REPLACE INTO操作被转换为以下操作的BINLOG:
PS:在BINLOG 看到的操作并不能代表其在数据库中真实操作,使用BINLOG可以保证主从数据一致,因此可以按照BINLOG去理解REPLACE INTO的修改操作。
##===================================================================##