Mysql 如果存在两个相同的字段,则插入else更新

Mysql 如果存在两个相同的字段,则插入else更新,mysql,sql,Mysql,Sql,假设我有两个字段a和b 现在假设我想写一个查询,如果a=100,b=120,它将更新,否则它将创建新字段 a和b也必须是彼此唯一的,我的意思是,它可以是两个a等于100或两个b等于200,但不能有更多类似的字段 a=100和b=120,我希望你明白我的意思。如果你对a,b组合有唯一的限制,你可以使用这个功能的语法。示例: INSERT INTO TableX ( a, b, c, d, e) VALUES ( 100, 200, 1, 2, 3) ON DUPLICATE KEY UPD

假设我有两个字段a和b

现在假设我想写一个查询,如果a=100,b=120,它将更新,否则它将创建新字段

a和b也必须是彼此唯一的,我的意思是,它可以是两个a等于100或两个b等于200,但不能有更多类似的字段

a=100和b=120,我希望你明白我的意思。

如果你对a,b组合有唯一的限制,你可以使用这个功能的语法。示例:

INSERT INTO TableX
  ( a, b, c, d, e)
VALUES
  ( 100, 200, 1, 2, 3)
ON DUPLICATE KEY UPDATE
  c = VALUES(c)
, d = VALUES(d)
, e = VALUES(e)

INSERT INTO TableX
  ( a, b, c, d, e)
VALUES
  ( 100, 200, 1, 7, 20)
ON DUPLICATE KEY UPDATE
  c = c + 1
, d = d + 1
, e = e + 1 
如果对a、b组合有唯一的约束,则可以使用此功能的语法。示例:

INSERT INTO TableX
  ( a, b, c, d, e)
VALUES
  ( 100, 200, 1, 2, 3)
ON DUPLICATE KEY UPDATE
  c = VALUES(c)
, d = VALUES(d)
, e = VALUES(e)

INSERT INTO TableX
  ( a, b, c, d, e)
VALUES
  ( 100, 200, 1, 7, 20)
ON DUPLICATE KEY UPDATE
  c = c + 1
, d = d + 1
, e = e + 1 

对不起,我真的不明白你在问什么…字段和行不同。。你能澄清一下你的意思吗?你的意思是什么,否则它会创造新的领域?如果满足条件,是否要更新行,如果不满足条件,是否要添加新行?嗯,这是不可能的一个查询我所知道的…对不起,但我真的不明白你在这里问什么…字段不同于行。。你能澄清一下你的意思吗?你的意思是什么,否则它会创造新的领域?如果满足条件,是否要更新行,如果不满足条件,是否要添加新行?好吧,这是不可能的一个查询我所知道的。。。