表 A 有 字段 ID(Primary KEY AutoIncrement) Name (Unique) 其他字段  X,Y现有记录 Name = a ,X =b, Y =c
现在 想 当 表中  Name=a 存在时 只更新 X 与Y ,  ID 不要动
         当 表中  Name=a 不存在时 插入整个记录,当然允许 ID增加
能用 一条 SQL 实现吗 ?MySQL

解决方案 »

  1.   

    是这样嘛?INSERT A (X, Y, Name) values (b, c,a ) ON DUPLICATE ID UPDATE Name= a
      

  2.   

    INSERT IGNORE A (X, Y, Name) values (b, c,a ) 
      

  3.   

    create unique index xxx on 表A (Name);replace into 表A(Name,X,y) values (a,b,c);
      

  4.   

    版主就是不一样,要使用replace into必须在该字段上添加唯一索引,否则会先删除先记录然后再插入新记录,这样ID就变了