UPDATE or INSERT?

来源:互联网 发布:福建旅游 知乎 编辑:程序博客网 时间:2024/05/17 23:20

很多时候我们会碰到这样的需求:要往数据表里记录一些数据,如果这些数据是第一次记录,那么要执行INSERT操作,如果以前记录过了,那就指向UPDATE操作。

最直接的处理方法,就是先SELECT查询一次,看该条数据是否已经存在,如果已存在就UPDATE,如果不存在就INSERT。这种处理的缺点是,不管怎样,都要先查询一次。

昨天看the art of sql,提到了一种处理方式,先直接UPDATE,通常UPDATE执行之后,会返回更新记录的数目:如果为零,说明改数据不存在,再执行一次INSERT;如果不为零,说明已经UPDATE成功了。这个办法看起来还是不错的。