其他字段value莫名其妙的没了
step1 初始化记录
step2 构造错误场景
总结
col_3 的值,从原来的c,变成了null,天呐,数据不见了。 id 也变了。
用户原本的需求,应该是如果col_1='c' 存在,那么就改变col_2='cc',其余的记录保持不变,结果id,col_3都变化了
解决方案就是:将replace into 改成 insert into … on duplicate key update
但是你以为这样就完美的解决了吗? 马上就会带来另外一场灾难,请看下面的错误场景
error 1062 (23000): duplicate entry 'x' for key 'primary'
step3 错误案例产生
replace with unique key
replace with primary key