MySQL DUPLICATE KEY UPDATE

Забавно получилось: давно написал, как сделать ON DUPLICATE KEY UPDATE для SQL Server и
ON DUPLICATE KEY UPDATE для PostgreSQL, а «оригинал» не описал.

В общем, всё просто:

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

Тогда при вставке строки с дублирующимся значением уникального ключа будут обновлены все остальные поля.
http://dev.mysql.com/doc/refman/5.0/en/insert-on-duplicate.html

Similar Posts

One Response so far.

  1. Спасибо, этот пример мне помог быстро решить мою задачу!

LEAVE A COMMENT