Mysql - INSERT или UPDATE если запись уже существует - пример - ON DUPLICATE KEY UPDATE
Primary tabs
Forums:
Если вы хотите одним запросом решить задачу добавления/обновления, то используйте конструкция INSERT....ON DUPLICATE KEY UPDATE
, которая позволит в случае совпадения PRIMARY KEY или любого другого уникального индекса не добавить новую строку, а обновить имеющуюся, например:
INSERT INTO shop_meta SET some_id = 1215, volume = 3 ON DUPLICATE KEY UPDATE volume = volume + 1;
(если строка новая, то установим два значения, а если старая - просто инкрементируем значение столбца volume для данной строки)
В секции UPDATE можно указать несколько строк через запятую.
Если в случае совпадения ключей, вы не хотите выполнять никаких действий -- см. этот пример.
- Log in to post comments
- 10523 reads