我有桌子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 ....
有没有办法用触发器,程序或魔法"查询?
答案 0 :(得分:1)
您可以使用两个查询执行此操作:
SELECT
旧值。如果存在,则在步骤2之后返回UPDATE
或INSERT
根据需要