Mysql - 插入或更新并获取旧值

时间:2013-09-22 17:57:02

标签: php mysql insert-update

我有桌子SomeTable,有3列A,B,C和A和B上的唯一

如果A,B已经存在,我从客户端传递一些值来插入或更新C. 我想知道服务器是否为每个值完成了更新或插入,如果是更新,我想要旧的C值....

我目前正在使用

执行此操作
While values to insert {
   Insert A,B,C
   if success memorizing the value continue the while
   else if the sql error is "duplicate key" {
       select old value of C for A,B
       update C for A,B...
   }    
}

这意味着3次调用MySQL ....

有没有办法用触发器,程序或魔法"查询?

1 个答案:

答案 0 :(得分:1)

您可以使用两个查询执行此操作:

  1. 尝试SELECT旧值。如果存在,则在步骤2之后返回
  2. UPDATEINSERT根据需要