应该没有
如果我做的话,先INSERT操作,判断是否出KEY重复错,如果出了就UPDATE

解决方案 »

  1.   

    replace7.15 REPLACE句法
        REPLACE [LOW_PRIORITY | DELAYED]
            [INTO] tbl_name [(col_name,...)]
            VALUES (expression,...)
    或  REPLACE [LOW_PRIORITY | DELAYED]
            [INTO] tbl_name [(col_name,...)]
            SELECT ...
    或  REPLACE [LOW_PRIORITY | DELAYED]
            [INTO] tbl_name
            SET col_name=expression, col_name=expression,...
     
    REPLACE功能与INSERT完全一样,除了如果在表中的一个老记录具有在一个唯一索引上的新记录有相同的值,在新记录被插入之前,老记录被删除。见7.14 INSERT句法。 
      

  2.   

    那这样的工作效率是不是太低了啊象创建表都有 CREATE TABLE IF NOT EXISTS tab_name(...)要是保存数据有这个机制就方便很多了?
    各位平时是怎么处理这个问题的呢?难道都要先查询是不是存在同样的Key ,然后才确定是新增还是更新?
      

  3.   


    本来很简单的问题为什么想得那么复杂啊!像seanchan不是挺好的吗?我平时也这么做的!
      

  4.   

    就是把你原来的 SQL 语句中的 INSERT 换成 REPLACE 就可以了