Create trigger - MySQL
Формулировка задачи:
Всем привет.
Написал стриггер для логирования
А он мне ошибку выдает
Где синтаксис не правильный понять не могу.
create trigger tplog_insert_personal AFTER INSERT ON personal FOR EACH ROW BEGIN insert tp_log (id_personal, `date`,`bit`) select 3,NOW(),1 end
Error Code: 1064. You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'insert tp_log (id_personal, `date`,`bit`) select 3,NOW(),1 end' at line 3 0.000 sec
Решение задачи: «Create trigger»
textual
Листинг программы
DELIMITER | CREATE TRIGGER tplog_insert_personal AFTER INSERT ON personal FOR EACH ROW BEGIN INSERT INTO `tp_log` (`id_personal`, `date`, `bit`) SELECT (45 '45', NOW(),1 '1'); END;
Объяснение кода листинга программы
- В данном коде создается триггер с именем
tplog_insert_personal
. - Триггер срабатывает после вставки новой записи в таблицу
personal
. - Для каждой вставленной записи выполняется блок SQL.
- В блоке SQL выполняется вставка записи в таблицу
tp_log
. - В таблицу
tp_log
записываются следующие поля:id_personal
,date
,bit
. - Значение
id_personal
берется из вставленной записи и равно 45. - Значение
date
берется из системного времени и записывается в формате NOW(). - Значение
bit
равно 1. - Значения переменных заключены в одинарные кавычки, так как они являются строками.
- Значения переменных
id_personal
,date
,bit
записываются в таблицуtp_log
без одинарных кавычек. - Значения переменных разделены запятой.
- Запись в таблицу
tp_log
выполняется с использованием оператораINSERT INTO
. - Значения переменных берутся в скобки
()
. - Триггер выполняется после каждого вставления записи в таблицу
personal
. - Делимер
;
используется для разделения команд в SQL запросе. - Делимер
;
используется для разделения выражений в SQL запросе. - Делимер
;
используется для разделения операторов в SQL запросе. - Значения переменных
id_personal
,date
,bit
являются константами. - Значения переменных
id_personal
,date
,bit
не зависят от вставленной записи. - Значения переменных
id_personal
,date
,bit
не могут быть изменены вставленной записью.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д