Где используют инкремент в SQL?

«Где используют инкремент в SQL?» — вопрос из категории Базы данных, который задают на 24% собеседований PHP Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

В контексте баз данных под «инкрементом» обычно понимают операцию увеличения числового значения в записи. В SQL это делается с помощью оператора UPDATE.

Основные сценарии использования:

  1. Счётчики и метрики Самый частый случай — увеличение счётчика просмотров, лайков или количества попыток.

    UPDATE articles SET view_count = view_count + 1 WHERE id = 123;
  2. Инвентаризация и балансы Уменьшение количества товара на складе при оформлении заказа.

    UPDATE products SET stock_quantity = stock_quantity - :ordered_qty WHERE id = :product_id;
  3. Атомарные операции для избежания race condition Такой подход безопасен в конкурентной среде, так как операция выполняется на стороне БД.

    -- Небезопасно (сначала читаем, потом обновляем в коде):
    -- SELECT likes FROM post WHERE id=5; (Получили 10)
    -- UPDATE post SET likes = 11 WHERE id=5; (Может быть перезаписано другим процессом)
    
    -- Безопасно (атомарный инкремент в БД):
    UPDATE post SET likes = likes + 1 WHERE id = 5;

Важно: Для очень высоконагруженных счётчиков в некоторых СУБД (например, Redis) есть специальные команды вроде INCR, которые ещё более эффективны.