1
比方说,我有two
字段a
和b
。如果存在两个相同的字段,则插入其他更新
现在我们假设我想写一个查询,如果a = 100 AND b = 120
会更新,否则它会创建新的字段。
而且a
和b
必须是唯一的对方,我的意思是,它可以是两个a
等于100
或两个b
等于200
,但不能像
a
多个字段= 100
和b
= 120
,我希望你明白我的意思。
比方说,我有two
字段a
和b
。如果存在两个相同的字段,则插入其他更新
现在我们假设我想写一个查询,如果a = 100 AND b = 120
会更新,否则它会创建新的字段。
而且a
和b
必须是唯一的对方,我的意思是,它可以是两个a
等于100
或两个b
等于200
,但不能像
a
多个字段= 100
和b
= 120
,我希望你明白我的意思。
如果您对(a,b)
组合有UNIQUE
约束,则可以使用此功能的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
我很抱歉,但我真的不明白你问这里... – Marco 2012-02-03 23:06:15
领域都行不同的..你可以弄清楚你是什么意思? – Blorgbeard 2012-02-03 23:06:22
你是什么意思与_“否则它会创造新的领域”_?如果满足条件,是否要更新一行,如果不满足则添加新行?那么,对于我所知道的一个查询来说这是不可能的。 – Marco 2012-02-03 23:08:22