假设我有two
个字段a
和b
。
现在假设我想编写一个查询,如果a = 100 AND b = 120
它将更新它将创建新字段。
同样a
和b
必须彼此唯一,我的意思是它可以是两个a
等于100
或两个{{1} }等于b
,但不能有更多的字段,如
200
= a
和100
= b
,我希望你明白我的意思。
答案 0 :(得分:4)
如果您对UNIQUE
组合有(a,b)
约束,则可以使用INSERT ... ON DUPLICATE KEY UPDATE ...
语法来实现此功能。例子:
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