Простой триггер - MySQL

Узнай цену своей работы

Формулировка задачи:

Добрый день! Помогите, пожалуйста, не могу разобраться. Есть следующий запрос (PDO php):
$sql = 'INSERT INTO applications (job_id, u_id, description, addtime) '
            . 'VALUES (:job_id, :u_id, :description, :addtime)';
Поле job_id - это поле, которое связывает таблицу applications (заявки) c таблицей jobs. Вопрос в следующем: Как сделать такой триггер, чтобы при добавлении в таблицу applications записи, в столбце jobs.applications число увеличивалось на 1? Заранее спасибо!

Решение задачи: «Простой триггер»

textual
Листинг программы
CREATE TRIGGER `after_insert_applications_item`
AFTER INSERT ON `applications` FOR EACH ROW
BEGIN
UPDATE jobs
SET applications += 1
END

Объяснение кода листинга программы

  1. Создается триггер с именем after_insert_applications_item.
  2. Триггер срабатывает после вставки новой записи в таблицу applications.
  3. Для каждой вставленной записи выполняется блок SQL.
  4. В блоке SQL выполняется операция UPDATE для таблицы jobs.
  5. В операции UPDATE значение столбца applications увеличивается на 1.
  6. Значение applications не указывается в кавычках, поэтому предполагается, что это число.
  7. Значение jobs не указывается в кавычках, поэтому предполагается, что это таблица.
  8. Предполагается, что в таблице jobs есть столбец applications, который содержит числовые значения.
  9. Предполагается, что вставка новой записи в таблицу applications соответствует увеличению значения в столбце applications таблицы jobs.
  10. Триггер не содержит ошибок.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 3.667 из 5