SQL Insert or Update

Рейтинг: 2Ответов: 1Опубликовано: 05.10.2014

Есть ли какая-нибудь функция, которая добавляла бы значения в базу данных, если с определённым id значений нет, и обновляла бы, если значение существует. Насколько я понял, надо каждый раз проверять на существование данной строки и потом, если она есть, то выполняем update, а если нет, то insert. Или есть другой вариант, без лишних запросов?

Ответы

▲ 2

Ответ из комментария


В MySQL вы можете использовать конструкцию INSERT ... ON DUPLICATE:

INSERT INTO table (a,b,c) VALUES (1,2,3)
  ON DUPLICATE KEY UPDATE c=c+1;

Подробнее http://dev.mysql.com/doc/refman/5.7/en/insert-on-duplicate.html