Простой триггер - MySQL
Формулировка задачи:
Добрый день! Помогите, пожалуйста, не могу разобраться.
Есть следующий запрос (PDO php):
Поле job_id - это поле, которое связывает таблицу applications (заявки) c таблицей jobs.
Вопрос в следующем:
Как сделать такой триггер, чтобы при добавлении в таблицу applications записи, в столбце jobs.applications число увеличивалось на 1?
Заранее спасибо!
$sql = 'INSERT INTO applications (job_id, u_id, description, addtime) ' . 'VALUES (:job_id, :u_id, :description, :addtime)';
Решение задачи: «Простой триггер»
textual
Листинг программы
CREATE TRIGGER `after_insert_applications_item` AFTER INSERT ON `applications` FOR EACH ROW BEGIN UPDATE jobs SET applications += 1 END
Объяснение кода листинга программы
- Создается триггер с именем
after_insert_applications_item
. - Триггер срабатывает после вставки новой записи в таблицу
applications
. - Для каждой вставленной записи выполняется блок SQL.
- В блоке SQL выполняется операция UPDATE для таблицы
jobs
. - В операции UPDATE значение столбца
applications
увеличивается на 1. - Значение
applications
не указывается в кавычках, поэтому предполагается, что это число. - Значение
jobs
не указывается в кавычках, поэтому предполагается, что это таблица. - Предполагается, что в таблице
jobs
есть столбецapplications
, который содержит числовые значения. - Предполагается, что вставка новой записи в таблицу
applications
соответствует увеличению значения в столбцеapplications
таблицыjobs
. - Триггер не содержит ошибок.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д