0

我有一张这样的桌子:

column1 - primary
column2 - unique
column3

我的查询应该是这样的:

  • 如果 column1 和 column2 不同则插入
  • 如果两者都匹配,则更新 column3
  • 如果只有一个匹配,则什么也不做

我已经阅读过,INSERT ... ON DUPLICATE KEY UPDATE ...但我的第三个请求似乎并不顺利。在此先感谢您的帮助!

4

1 回答 1

0

如果两者不同,这似乎可以插入,如果两者相同,则更新。这使用“1”作为插入/更新的所有三个列值 (1,1,1):

insert into yourtable 
select distinct 1,1,1
from yourtable
where column1 <> 1 and column2 <> 1;

update yourtable
set column3 = 1
where column1 = 1 and column2 = 1;

SQL 小提琴演示

于 2013-03-31T01:21:32.630 回答