如果已存在具有相同值的行,则增加列

时间:2011-03-28 15:18:43

标签: mysql sql

这对我的SQL-foo来说有点太棘手了。

我需要做的是插入一个新行(包含3列),除非已经存在一行,其中两个值相同,如果确实存在,我需要增加该行的第三个值。

想象一下,两个值是关系(a,b),第三个值是关系的强度(随着该关系的每一次出现而增加)。

提前致谢!

1 个答案:

答案 0 :(得分:12)

INSERT
INTO    a_b (a, b, strength)
VALUES  ($a, $b, 1)
ON DUPLICATE KEY
UPDATE  strength = strength + 1

确保您在表格上有UNIQUE (a, b)PRIMARY KEY (a, b)约束