在mysql中需要实现一逻辑操作:在数据库中查找一条记录,若有则修改,若不存在则新增。
能否用一条语句实现呢?

解决方案 »

  1.   

    如果有唯一标识的字段的话(主键、 唯一索引)
    replace into可以
      

  2.   

    INSERT [LOW_PRIORITY | DELAYED | HIGH_PRIORITY] [IGNORE]
        [INTO] tbl_name [(col_name,...)]
        VALUES ({expr | DEFAULT},...),(...),...
        [ ON DUPLICATE KEY UPDATE col_name=expr, ... ]
      

  3.   

    MySQL官方文档 http://dev.mysql.com/doc/refman/5.1/zh/index.html
      

  4.   

    replace into test1(id,name)(select id,name from test2);
    or
    replace into test1(id,name) values(...)
      

  5.   


    replace into tb(colum1,column2,...)values(datavalue1, datavalue2, ......);