大侠好,
我是PHP开发,环境是CI框架。
需求:要更新用户的配置,用户配置 若不存在则新增,若存在则更新。
我想在MySQL数据库中使用replace来操作。
之前没用过replace语句。不知道性能,及优缺点。
请赐教

解决方案 »

  1.   

    用 replace into 语句完成
    它与update的区别是:
    update 是直接更新
    而 replace into 会先检查存不存,如果存在此行数据(根据主键或者唯一索引判断)则先删除此行数据,然后插入新的数据。 否则,直接插入新数据。要注意的是:插入数据的表必须有主键或者是唯一索引!否则的话,replace into 会直接插入数据,这将导致表中出现重复的数据。
      

  2.   

    update是直接更新数据
    replace是有两种情况
    1.记录已存在(根据主键或唯一索引),则删除,再插入
    2.记录不存在,插入。