这对我的SQL-foo来说有点太棘手了。
我需要做的是插入一个新行(包含3列),除非已经存在一行,其中两个值相同,如果确实存在,我需要增加该行的第三个值。
想象一下,两个值是关系(a,b),第三个值是关系的强度(随着该关系的每一次出现而增加)。
提前致谢!
答案 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)
约束