请教mysql一个sql语句,存在则更新,不存在则插入
多线程下的更新,一下子不知道怎么做了....
表:user
字段:
userid -- 主键
username
ip
address....
现在user表里有记录,我设置了唯一性索引,是两个字段 "username" 和 “ip”
当插入数据的时候,如果存在一条记录,他们的 "username" 和 “ip”相同的话,那么就更新userid和address,否则插入新的数据,userid是自增的。
我试过replace into,这个他只会判断主键userid,而当我插入数据的时候是不知道userid的,所以总是变成新增数据。
也试过ON DUPLICATE KEY UPDATE 但是这个也是只识别userid,完全不起作用。
能否用sql语句实现这个功能?且保证整个操作原子性,这样就不需要程序的代码去处理了。
谢谢!!