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