今天在工作中遇到这样一个小问题:
mysql中如果表中有待插入数据则更新表中此条数据,若没有则插入。
刚开始想到的肯定是最简单的三条语句:
1.先去表中找有没有该条数据,select * from users where user_id=${id};
2.如果有,则执行update语句,update users set count=count+1 where user_id=${id};
3.如果没有,则执行insert语句。insert into users (user_id, count) values(${id},${count});
去查了下资料,下面的方法比较简单:(但实际并未提高效率)
insert into users(user_id, count) values(${id},${count}) on duplicate key update count=count+1;