replace into 方式
前提条件
表中必须有主键或者唯一索引。
原理
根据主键或唯一索引找到相同主键的数据,然后删除原先的数据,再添加新的数据。
如果表中没有相同的主键或唯一索引,则相当于insert into。
使用案例
# topic、partition、groupid是主键
replace into t_offset (`topic`, `partition`, `groupid`, `offset`) values(?,?,?,?)")
ON DUPLICATE KEY UPDATE 方式
前提条件
表中必须有主键或者唯一索引。
原理
根据主键或唯一索引找到相同主键的数据,然后执行update更新操作。
如果表中没有相同的主键或唯一索引,则相当于insert into。
使用案例
# userid是主键
insert into black_list(userid) value (?)
on DUPLICATE KEY
UPDATE userid = ?