Увеличить столбец, если строка уже существует с такими же значениями - PullRequest
7 голосов
/ 28 марта 2011

Это слишком сложно для моего SQL-foo.

Что мне нужно сделать, это вставить новую строку (которая содержит 3 столбца), , если строка уже существует, гдедва из этих значений одинаковы, и если оно существует, мне нужно увеличить третье значение в этой строке.

Представьте, что эти два значения являются отношением (a, b), а третье значение является отношениемсила (которая увеличивается с каждым появлением этих отношений).

Заранее спасибо!

1 Ответ

12 голосов
/ 28 марта 2011
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)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...