-------------------------------------
| user_id | user_name | user_visits |
-------------------------------------
| 1 | foo | 5 |
-------------------------------------
| 2 | bar | 12 |
-------------------------------------
user_id: автоинкремент, user_visits: по умолчанию 1
INSERT INTO таблица (имя_пользователя) VALUES ('baz'), ('bar'), ('qux');
В приведенном выше утверждении, конечно, будут добавлены 3 новые записи, в результате:
-------------------------------------
| user_id | user_name | user_visits |
-------------------------------------
| 1 | foo | 5 |
-------------------------------------
| 2 | bar | 12 |
-------------------------------------
| 3 | baz | 1 |
-------------------------------------
| 4 | bar | 1 |
-------------------------------------
| 5 | qux | 1 |
-------------------------------------
но я пытаюсь достичь:
-------------------------------------
| user_id | user_name | user_visits |
-------------------------------------
| 1 | foo | 5 |
-------------------------------------
| 2 | bar | 13 |
-------------------------------------
| 3 | baz | 1 |
-------------------------------------
| 4 | qux | 1 |
-------------------------------------
буквально,
если поле user_name существует, обновите user_visits, иначе вставьте новую запись.
возможно ли достичь этого с помощью одного оператора вставки?